【GDevelop 基礎 03】 ずっと回転する

今回作成するもの

ずっと回転し続けるだけの Behavior です。

今回は以下の2つの方法で「ずっと回転する」を作っていきます。

  1. 一定のスピードで回転させる
  2. 一定のスピードで角度を変更し続ける

実現することは同じです。

Forever_Rotate Extension を作成

以下のように Forever_Rotate (回転させる), Forever_ChangeAngle (角度を変更し続ける) の2つの Behavior を追加します。それぞれ、doStepPreEvents を追加します。

パラメータの追加

以下のように angleSpeed パラメータを追加します。1 秒間に回転する角度です。

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

doStepPreEvents の実装

Forever_Rotate

こちらは Rotate action を使います。これは引数の Angular speedin degrees per second となっており、そもそも 1 秒間での回転角度を指定できるので、そのまま先程作成した angularSpeed パラメータを指定します。

Forever_ChangeAngle

こちらは直接オブジェクトの Angle パラメータを変更します。こちらはフレームを考慮する必要があるので、「移動」と同じく1秒間に 60 フレームとして、 60angleSpeed を割った値を追加し続けることにします。

当然ながら、このままだと 360 度を超えた後も増え続けていくのですが、見た目としては問題ないためここでは 360 度を 0 度に戻す処理は行いません。

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

2つの Sprite オブジェクトを用意し以下のように Behavior を設定します。

Forever_Rotate Forever_ChangeAngle

動作確認

Preview で確認すると、冒頭に貼った画像のように大体 4 秒で一回転することが確認できます。1秒に 90 度としているのでそうなりますね。