弾丸地獄ゲームのホーミング発射体を作成しようとしていますが、発射体の角度に対するターゲットと発射体の間の角度を計算できる必要があります (発射体が向いている方向は 0 度になります)。現在、角度計算はpoint_directionを使用して絶対的に行われていますが、問題は、ターゲットが 4 番目のセクターにあるときに発射体が間違った方向に操縦し始めることです。もう 1 つの問題は、発射体がターゲットを追跡しているときに 180 度回転すると (または敵が発射した場合は下に移動する)、ステアリングの方向が反転することです。mp_potential_関数も試しましたが、それらのパスファインディングは「攻撃的」すぎます。
これは私の現在のコードがどのように見えるかです:
if(instance_exists(obj_fighter1)) {
var target;
target = instance_nearest(x, y, obj_fighter1);
if(target != noone) {
var angle_to_target;
angle_to_target = point_direction(x,y,target.x,target.y);
if(angle_to_target < direction) {
direction -= 2;
}
if(angle_to_target > direction) {
direction += 2;
}
}
}
うまくいけば、この情報で十分であり、理解できます。