敵を色々なパターンで動かしたくなりますよね!今回はSineMovement拡張機能を使って色々なパターンを実装していきます。これ、すごい簡単で動作以外にも使えるのでぜったり習得しておいた方がいいです。パラメータがどう作用するかちゃんと理解すれば難しくありません!!
1、まず、プロジェクトマネージャーから「新しい拡張機能を検索」でSineMovementをインストールします。
2、そしたら、敵のスプライトオブジェクトを用意し、ビヘイビアにSineMovementを追加。設定値はデフォルト値でいいです。
2、画面の中央ぐらいに敵オブジェクトを配置します。
3、プレビューしてください。 どうですか?滑らかに左右に動いてますよね。下のGIFはつなぎ目がズレてるので止まりますが・・・
要するにSine波を使って動かしてるんですね。「Sine波 シューティング 敵」とググると仕組みを解説されているサイトがいくつかありますのでみて下さい。これをプログラムで実装するにはそれなりの行数になります。GDevelopってすごいですよね。プログラムを1行も描いてません。
4、ここから色々なパターンを作成していきますが、まずSineMovementのパラーメーターを理解しましょう。ここでポイントなのが敵オブジェクトを 画面に配置 した場合、CenterX,Yは配置されたX,Y座標になります。逆にイベントでSineMovementのCenterX,Yを設定するとオブジェクトも移動します。オブジェクト生成時に注意が必要です。
パラメータ | 値 |
CenterX | 0 |
CenterY | 0 |
Horizontal Distance | 100 |
Horizontal Speed | 60 |
Vertical Distance | 0 |
Vertical Speed | 60 |
5、パターンを作成するために、敵オブジェクトのオブジェクト変数に「id」を追加
6、画面上にそれぞれの敵オブジェクトを配置してインスタンス変数のidに1、2、3と設定します。
7、イベントエディタに移動しこんな感じのイベントを書きます。
8、プレビューしましょう!垂直、水平、円の動きを繰り返しますよね。これが基本的な動きになります。
9、さらにid 1と2に 「オブジェクトを移動する(X軸とY軸)」イベントを追加しましょう。
10、どうでしょう?波のように移動していきましたよね。このように SineMovement拡張機能とフォースによる移動を組み合わせることで色々なパターンが作成できます。あとは敵オブジェクトにビヘイビアに「画面外で破棄」拡張機能も追加して、タイマーで一定時間に敵オブジェクトを生成すればOKです。
どうだったでしょうか?とても簡単だったと思います。これでシューティングゲームを作成したのでぜひ遊んでみてください。
コメント