如何在Java中使角度正确移动

时间:2011-07-09 00:48:58

标签: java trigonometry shapes angle

我在一种鸟瞰射击游戏中有一个名为Bullet的课程。我曾经简单地运行它,以便它根据输入的方向移动,这个方向只能是向东南或向西。我现在想要制作它,这样你就可以在任何角度拍摄,但是如果我拍摄它在Y轴上是倒置的(意思是如果我瞄准它向下移动)。这是我的代码(是的,我记得转换为Radians)。每个子弹都由一条小线组成,这里是移动方法的一个例子:

double scaleX = Math.sin(angle);
double scaleY = Math.cos(angle);
x = x + (MOVE_SPEED * scaleX);
x2 = x2 + (MOVE_SPEED * scaleX);
y = y + (MOVE_SPEED * scaleY);
y2 = y2 + (MOVE_SPEED * scaleY);

x,x2,y和y2都决定了线上的点。我只对Trig有所了解,所以任何帮助都会很棒。谢谢!

编辑:我之前犯了一个错误,说它向右而不是向左,反之亦然,但它上升而不是向下,反之亦然,并且左右行动正常。

1 个答案:

答案 0 :(得分:0)

这太明显了,不正确: 改变

double scaleY = Math.cos(angle);

double scaleY = -Math.cos(angle);