所以我一直试图让一个对象根据它使用 atan() 创建的两种速度移动。但每次测试的结果都是一样的直线上升。
所以我决定把它拿出来并用输入的角度替换它,奇怪的是它只适用于四个角度 90 180 270 0。
我不确定为什么它只适用于那些指示这里是我的代码:
public void update() {
updateDir();
move();
}
public void updateDir(){
dir = Math.atan(spdY/spdX);
dir =20; //I know this is here it was used to test if it will actually change
dir = dir * Math.PI / 180.0;
System.out.println("dir: " + dir);
}
public void move() {
x += (spd*Math.cos(dir));
y -= (spd * Math.sin(dir));
}
为什么它只朝四个方向前进?