そのため、atan() を使用して作成される 2 つの速度に基づいてオブジェクトを動かそうとしています。しかし、すべてのテストの結果は、まっすぐ上に行くという同じ動きになります。
そこで、それを取り出して、奇妙なことに 4 つの角度 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));
}
4 方向にしか進まない理由はありますか?