1 人のプレイヤーを追跡しなければならない複数の敵がいるゲームがあります。mp_grid とパスを使用して GML A* パスファインディングを使用してパスファインディングを設定しました。ただし、これらの敵は、プレイヤーを探すときにお互いの上を歩くことができます。これを修正するために、mp_grid_add_instances を使用して敵も無視するようパスに指示しましたが、敵は自分自身を障害物と見なし、バウンディング ボックス内に閉じ込められて完全に動きを止めます。mp_grid_add_instances を使用して「自分以外のすべての敵」を追加する方法はありますか?
これが私のグリッド作成コードです(変数を初期化するための CONTROLS クラス内):
global.zombie_ai_grid = mp_grid_create(0, 0, room_width / 50, (room_height - sp_dashboard.sprite_height) / 50, 50, 50);
mp_grid_add_instances(global.zombie_ai_grid, obj_obstacle, false);
これは私のパス初期化コードです(ゾンビクラス内):
path = path_add();
alarm[0] = 5;
これは、アラーム 0 のパス作成コードです (パスは 2 秒ごとに更新されます)。
mp_grid_path(global.zombie_ai_grid, path, x, y, nearest.x, nearest.y, true);
path_set_kind(path, 1);
path_set_precision(path, 8);
path_end();
path_start(path, MAX_SPEED, 0, true);
alarm[0] = room_speed * 2;