2013-02-26 46 views
0

我正在製作側面滾輪射擊遊戲。我現在有我的角色水平地向右邊射擊。我想讓他在屏幕上的任何地方拍攝。如何在我的Android遊戲中使用atan2

我知道我應該使用atan2來確定我的子彈將被射中什麼角度,但我很困惑如何將其實施到我的遊戲中。

我的問題是如何將屏幕上的觸摸座標稱爲atan2?我是否將其放在我的觸控命令代碼或我的子彈的類中。最後,我需要做另一個atan2的速度嗎?

回答

0

首先,你需要播放器的矢量

P =(A,B)

而且你的拍攝點

T =(X,Y)

此位置然後給我們一個從P到T的向量,(x - a,y - b)。通過採取

角= ATAN2(Y-B,X-A)

從那裏,這取決於你如何實現你的拍攝。

要重申,所有ATAN2做的是找到角度,所以

做我需要做的另一ATAN2速度

取決於你是否希望有炮彈在移動取決於角度的不同速度。事實上,如果你正在旋轉你的子彈,你只需要角度,否則你可以沿着矢量移動它(如果它是一個圓圈,它無論面對什麼方式都是無關緊要的)

+0

哦,他們將要回合,但現在他們只是矩形像素。對於您如何調用觸摸位置的座標,我仍有點困惑 – user2106015 2013-02-27 03:15:44

0

你不'不需要任何三角函數,你不應該使用它,因爲它是緩慢的,不準確的和充滿符號(+/-)的情況下出錯。

你或許可以用線性代數來做你需要的一切。使用矢量,而不是角度。