1
ゲーム、敵、そしてプレイヤーに2つのオブジェクトがあり、敵はプレイヤーを指す角度に向かって回転します。問題は、プレーヤーが0度でラインを横切ったとき、目標角度が正から負に変わり、反対方向に向かうべき数度を回すのではなく、敵をまっすぐ回るということです。方向を最も効率的に回転
l.velX=-Math.cos(Math.toRadians(l.angle));
l.velY=-Math.sin(Math.toRadians(l.angle));
m.x+=l.velX;
m.y+=l.velY;
if(Math.toRadians(l.angle)<Math.atan2((m.y-p.y),(m.x-p.x)))
l.angle+=i.gameSpeed;
else l.angle-=i.gameSpeed;
ここで何が起こっているのぞんざいに描かれた図です:ここに私のコードがある私は、この問題を解決するにはどうすればよい
?
'数学を使用してください。角度比較のためのabs '? – daniu
必要な角度の絶対値が左に回転した角度が、右に回転した角度の絶対値よりも小さいかどうかを確認しますか? – Fureeish
回転角が180°より大きい場合、角度を使用します。360° – AJNeufeld