我正在製作側面滾輪射擊遊戲。我現在有我的角色水平地向右邊射擊。我想讓他在屏幕上的任何地方拍攝。如何在我的Android遊戲中使用atan2
我知道我應該使用atan2來確定我的子彈將被射中什麼角度,但我很困惑如何將其實施到我的遊戲中。
我的問題是如何將屏幕上的觸摸座標稱爲atan2?我是否將其放在我的觸控命令代碼或我的子彈的類中。最後,我需要做另一個atan2的速度嗎?
我正在製作側面滾輪射擊遊戲。我現在有我的角色水平地向右邊射擊。我想讓他在屏幕上的任何地方拍攝。如何在我的Android遊戲中使用atan2
我知道我應該使用atan2來確定我的子彈將被射中什麼角度,但我很困惑如何將其實施到我的遊戲中。
我的問題是如何將屏幕上的觸摸座標稱爲atan2?我是否將其放在我的觸控命令代碼或我的子彈的類中。最後,我需要做另一個atan2的速度嗎?
首先,你需要播放器的矢量
P =(A,B)
而且你的拍攝點
T =(X,Y)
此位置然後給我們一個從P到T的向量,(x - a,y - b)。通過採取
角= ATAN2(Y-B,X-A)
從那裏,這取決於你如何實現你的拍攝。
要重申,所有ATAN2做的是找到角度,所以
做我需要做的另一ATAN2速度
取決於你是否希望有炮彈在移動取決於角度的不同速度。事實上,如果你正在旋轉你的子彈,你只需要角度,否則你可以沿着矢量移動它(如果它是一個圓圈,它無論面對什麼方式都是無關緊要的)
你不'不需要任何三角函數,你不應該使用它,因爲它是緩慢的,不準確的和充滿符號(+/-)的情況下出錯。
你或許可以用線性代數來做你需要的一切。使用矢量,而不是角度。
哦,他們將要回合,但現在他們只是矩形像素。對於您如何調用觸摸位置的座標,我仍有點困惑 – user2106015 2013-02-27 03:15:44