そのため、プレーサーを惑星に向けるのに問題があります。プレイヤーと惑星の間の角度があり、プレイヤーが現在いる角度もあります。これらでやりたいことは、プレイヤーが惑星に面するようにすることですが、段階的な変化があります。(これを行うのは、プレーサーが惑星を周回できるようにするためです)
問題は数学にあります。プレーヤーと惑星の間の角度に一致するようにプレーヤーの回転をインクリメントしますが、角度は 0 から 360 で機能するため、プレーヤーの回転は 2 である可能性があるため、プレーヤーは周回しませんが、惑星への角度は 280 であるため、ゲームはプレイヤーを好転させます。悪い説明で申し訳ありません。
プレイヤーが私の惑星を周回する方法を知っている人はいますか?
これが私のコードです:
double rotation = Math.toDegrees(Math.atan2(currentPlanet.pos[1]-currentPlayer.pos[1], currentPlanet.pos[0]-currentPlayer.pos[0]));
if(rotation < 0)
{
rotation += 360;
}
if(currentPlayer.rotation < rotation)
{
currentPlayer.rotation += 0.15*delta;
}
if(currentPlayer.rotation > rotation)
{
currentPlayer.rotation -= 0.15*delta;
}