ゲームのコーディング中に問題が発生しました。Slick Libraries と Light Weight Java Games ライブラリを使用しています。プレイヤー (飛行機) をマップ上の特定のエリアに移動させようとしています。たとえば、ターゲット座標を (50,50) に設定すると、飛行機は X で 50 になり、次に Y で 50 になります。プレイヤーがコントロールしている場合のように、飛行機を 90 度回転させようとしています。そのため、回転を設定するだけではなく、通常の速度 (0.2*デルタ) で回転させたいと考えています。それは90度に達します。
次のコードは、平面が現在左向きに回転している場合にのみ機能します。
これは私の現在のコードです。
if(AIToggle){
AIStatus = "ON";
if(TargetX < x){
if(plane.getRotation() < 0 ){
if(plane.getRotation()<=-270 ){
plane.rotate(-0.2f * delta);
}
}
}
}
現在の動作: 平面が 90 度以上左に回転し、AI がオンになっている場合、ゆっくりと 0 度まで回転します。それは私が理解していないものです。
私がやろうとしていること:飛行機が90度以上左に回転している場合は、飛行機を-90度回転させてから停止します。