2013-02-26 32 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

你不'不需要任何三角函数,你不应该使用它,因为它是缓慢的,不准确的和充满符号(+/-)的情况下出错。

你或许可以用线性代数来做你需要的一切。使用矢量,而不是角度。