如何在我的安卓游戏中使用atan2

时间:2013-02-26 20:42:01

标签: java android atan2

我正在制作侧卷轴射击游戏。我目前的角色水平向右射击。我想让他在屏幕上的任何地方拍摄。

我知道我应该使用atan2来计算我的子弹射击的角度,但是我很困惑如何将它实现到我的游戏中。

我的问题是如何将屏幕上触摸的坐标称为atan2?我是将它放在我的触摸命令代码还是我的射弹类中。最后我需要为速度做另一个atan2吗?

2 个答案:

答案 0 :(得分:0)

首先你需要玩家的矢量

P =(a,b)

你的射击点的位置

T =(x,y)

然后,这给出了从P到T的向量,(x-a,y-b)。通过

angle = atan2(y-b,x-a)

从那以后,这取决于你如何实施拍摄。

重申一下,所有atan2都会找到角度,所以

  

我需要另外做atan2以获得速度

取决于您是否希望射弹以不同的速度移动,具体取决于角度。事实上,如果你正在旋转你的射弹,你只需要角度,否则你可以沿着矢量移动它(如果它是一个圆形,它面对的方式并不重要!)

答案 1 :(得分:0)

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

您可以使用线性代数完成所需的一切。使用矢量,而不是角度。