【GDevelop 基礎 02】 ずっと水平・垂直に移動する

前回の 【GDevelop 基礎 01】 横に移動するだけ - Make Everything Games で使った Extension を追加する方法でやっていきます。

今回作成するもの

前回も水平移動ではありますが、固定の速度でしか移動できませんでした。

今回は垂直移動を追加することに加えて、速度を変化させられるようにします。

Forever_Move Extension を作成

以下のように Forever_MoveH (水平), Forever_MoveV (垂直) の2つの Behavior を追加します。それぞれ、doStepPreEvents を追加します。

パラメータの追加

以下のように speed パラメータを追加します。

Measurement unitSpeed を指定していますが、特にこうしなければいけない訳ではありません。わかりやすさのためです。

doStepPreEvents の実装

導入したパラメータである speed を利用します。60フレームで実行されるとして、毎フレームの移動距離は spped60 で割っています。

垂直の場合は Y 方向にするだけですね。

Forever_MoveH Forever_MoveV

スプライトの Behavior に設定する

Scene Objects から、それぞれのスプライトに Behavior を設定します。

今回は一つの Extension にまとめて2つの Behavior を作成しましたが、個別に設定することが可能です。

Forever_MoveH Forever_MoveV

speed の値はここで確認することができます。

動作確認

Preview で動作確認すると、前回とほぼ同じような速度で、水平・垂直それぞれに動作しているのが分かります。
前回は +(add)1 していました、つまり 1 フレームに 1 pixel 、60 フレーム (約 1 秒) で 60 pixel 動いていました。今回も結局は speed = 60 の場合は同じことなので、同じような速度で動いています。(まだ見れていませんが、おそらくフレームレートは可変なので、必ず 60フレーム/1秒で動くわけではないと思います)