我目前正在編程一個塔防,導彈往往會錯過敵人,而不是像他們在桌面塔防中那樣跟着/擊中他們。這是因爲他們在沒有給敵人任何領先的情況下射擊,所以當敵人到達敵人位置時,敵人已經離開3-5個像素。我查了一下如何解決這個問題,發現我需要使用向量數學來解決問題。例如,這個網站http://www.helixsoft.nl/articles/circle/sincos.htm有一些如何編寫自導導彈的代碼,但我不確定這是否是我需要解決我的問題的那種數學。如何正確編程導彈尋路?
看起來像是在stackoverflow上的帖子推薦一些叫做「命令指導」的東西,但不知道如何與2D遊戲一起工作。
所以目前,我很困惑,該怎麼做。任何方向/指導將不勝感激。
我不明白該函數如何增加導彈的x和y位置。 x + =長度* fcos(角度)和y + =長度* fsin(角度)如何增加x位置和y位置?對我來說沒有多大意義。基本上,我需要導彈位置來增加每個刻度,而我只是不確定長度* fsin(角度)= y的移動距離和長度* fcost(角度)= x的移動距離。 – GayLord 2013-03-05 22:54:18
我真的很推薦閱讀整篇文章和實例 - 這些問題和解決方案在遊戲開發中一次又一次地出現。 – 2013-03-05 23:20:29
簡而言之,cos(角度)返回敵人在x方向上的距離,sin(角度)返回敵人在y方向上的距離。 cos(角度)和sin(角度)都返回範圍[0,1]中的值,因此需要乘以速度。 – 2013-03-05 23:22:23