0

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

我知道我应该使用 atan2 来确定我的子弹将射向哪个角度,但我很困惑如何在我的游戏中实现它。

我的问题是如何将屏幕上的触摸坐标调用为 atan2?我是否将它放在我的触摸命令代码或我的射弹的类中。最后我需要再做一个 atan2 来提高速度吗?

4

2 回答 2

0

首先你需要你的播放器的向量

P = (a, b)

以及你的射击点的位置

T = (x, y)

这给了我们一个从 P 到 T 的向量 (x - a, y - b)。通过采取

角度 = atan2 (yb, xa)

从那里开始,这取决于您如何实施拍摄。

重申一下, atan2 所做的只是找到角度,所以

我需要再做一个 atan2 来提高速度吗

取决于您是否想让弹丸根据角度以不同的速度移动。事实上,如果你旋转你的弹丸,你只需要角度,否则你可以沿着向量移动它(如果它是一个圆,不管它面向什么方向!)

于 2013-02-26T21:03:04.743 回答
0

您不需要任何三角函数,也不应该使用它,因为它速度慢、不准确并且充满符号 (+/-) 情况会出错。

你可能可以用线性代数做你需要的一切。使用向量,而不是角度。

于 2013-02-26T22:10:52.273 回答