🚀
ホーミング弾はどのように作るのか。【ゲーム制作】
今回は、ホーミング弾の作り方を解説します。
通常の作り方とは少し違うので、ご理解ください。
では、gamemaker stadio2 におけるホーミングのコードです。
cool_time--;
if(cool_time < 0){
move_towards_point(player.x + hspeed *50,player.y + vspeed * 50,10);
cool_time = 7;
}
このコードで実装します。
move_towards_pointは目標地点に、任意の速度で移動する関数です。
速度として、それを設定するため、マイフレーム移動処理を書く必要がありません。
player.x + hspeed *50 は、プレイヤーに対して飛んでいく + 自分の加速度に補正係数をかけることで、慣性を持った移動を実現できます。
自身の速度に新しい速度を足し合わせるのではなく、
そもそもの目標地点を改変してしまうというのが、今回の実装の面白いポイントです。
この実装の良い所は、速度が一定であるため、荒ぶりが少ない点にあります。
プレイヤーを追従させたいけど、ある程度ポンコツ感を出したい場合は、hspeed *50を大きめに設定するか、判定の回数を減らして、大きく迂回するようなものを作成するかの二択があります。
以下、敵のドローンとして実装した例です
高級ミサイルは、ランダムな確率で、移動速度を反転させることで不規則な感じを演出しています。
Discussion