[程式] unity 子彈擊中效果問題

看板GameDesign (遊戲設計)作者 (物理)時間9年前 (2016/04/05 14:40), 編輯推噓3(304)
留言7則, 4人參與, 最新討論串1/1
我是unity新手 想請問一個小問題 我想做到的效果是 "子彈物件不論打到什麼物件都會call該物件的hit method" "玩家和敵人發射的是同樣的子彈" 但是要call method之前要先用getComponent<>() 所以 OnTriggerEnter 裡的code就會變成 if (other.tag == "Player") { other.getComponent<Player>().hit(); Destroy(gameObject); } else if (other.tag == "Enemy") { other.getComponent<Enemy>().hit(); Destroy(gameObject); } 但是感覺上同樣的code寫兩次好像不太好 請問有什麼解決辦法嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.241.119 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1459838434.A.112.html

04/05 14:46, , 1F
可以用SendMessage,不過不確定哪個效能好
04/05 14:46, 1F

04/05 15:10, , 2F
用interface
04/05 15:10, 2F

04/05 15:11, , 3F
Player和Enemy都implements hit()
04/05 15:11, 3F

04/05 15:28, , 4F
感謝 對C#不是很熟..
04/05 15:28, 4F

04/05 16:01, , 5F
不熟,就去找資料一次學透徹吧
04/05 16:01, 5F

04/05 16:02, , 6F
不然一知半解,每次碰到同個問題又從頭學,更花時間
04/05 16:02, 6F

04/05 16:03, , 7F
這是我大學物理教授給的建議,我覺得很有道理
04/05 16:03, 7F
文章代碼(AID): #1N0rtY4I (GameDesign)
文章代碼(AID): #1N0rtY4I (GameDesign)