我正在制作侧卷轴射击游戏。我目前的角色水平向右射击。我想让他在屏幕上的任何地方拍摄。
我知道我应该使用atan2来计算我的子弹射击的角度,但是我很困惑如何将它实现到我的游戏中。
我的问题是如何将屏幕上触摸的坐标称为atan2?我是将它放在我的触摸命令代码还是我的射弹类中。最后我需要为速度做另一个atan2吗?
答案 0 :(得分:0)
首先你需要玩家的矢量
P =(a,b)
你的射击点的位置
T =(x,y)
然后,这给出了从P到T的向量,(x-a,y-b)。通过
angle = atan2(y-b,x-a)
从那以后,这取决于你如何实施拍摄。
重申一下,所有atan2都会找到角度,所以
我需要另外做atan2以获得速度
取决于您是否希望射弹以不同的速度移动,具体取决于角度。事实上,如果你正在旋转你的射弹,你只需要角度,否则你可以沿着矢量移动它(如果它是一个圆形,它面对的方式并不重要!)
答案 1 :(得分:0)
你不需要任何三角学,你不应该使用它,因为它是缓慢的,不准确的和充满符号(+/-)的情况出错。
您可以使用线性代数完成所需的一切。使用矢量,而不是角度。