アセット
今回は Jumper Pack · Kenney を使います。
スプライトの配置
右下の Add a new object
をクリックします。
以下のウィンドウが開いたら、 Sprite
をクリックします。
続いて Edit NewSprite
ウィンドウが出てくるので、import images
ボタンをクリックし、ローカルにある bunny1_walk1.png
のファイルを選択します。
名前を Player
として、ウィンドウの下部にある Apply
をクリックします。
すると以下のように Scene Objects
に追加されます。
Player
をシーンにドラッグ&ドロップして配置する。
横に移動させる
今回は2つのパターンを紹介します。
- イベントシートに処理を記述する
Extension
を作成し、そのBehavior
として処理を記述する
1. イベントシートに処理を記述する
以下のように (Events)
が入ったタブに切り替える。
Add Action
の文字をクリックする。
以下のように Player
オブジェクトが表示されるのでクリックする。そのまま、X
で検索し X postion
を選択し、以下のように 1
ずつ + (add)
となるように設定する。
この状態で Preview
すると X の正方向、つまり右方向に移動し続けます。
2. Extension
を作成し、その Behavior
として処理を記述する
続いて先ほどと分けるために Player2
というオブジェクトを新しく作ります。
Extension の作成
まずは Project Manager メニューを開きます。
続いて Extensions
の +
ボタンをクリックします。
一番下に Create a new extension
ボタンがあるのでクリックします。
MoveX
という名前にしておきます。
MoveX
Extension を開き、Behaviors
の +
をクリックします。
Configurations
は以下のようにしておきます。(今回は Player2 にしか利用しないので、Object on which this behavior can be used
は Sprite
にしてあります)
MoveX
の +
ボタンをクリックします。
今回は毎フレームの処理なので doStepPreEvents
を選択します。
Add an event
ボタンをクリックします。
イベントシートの時と同じく Add action
の文字列をクリックします。
対象となる Object
が表示されるので選択します。
x
で検索して、X position
を選択します。値の設定方法等はイベントシートと同じです。
まずは Player2
の Edit Behaviors
をクリックします。
Add a behavior
ボタンをクリックします。
先ほど作成した MoveX
が出てくるので選択します。
Apply し、Preview を実行すると、イベントシートの時と同じく右方向に進みます。
まとめ
今回は、単に「横に移動するだけ」の処理の書き方を通して、
- イベントシートに記述する
- Extension を作成し、その Behavior として記述する
の 2 つの方法を試しました。
後者の方法は Unity で言えば以下のようなスクリプトを書いてプレイヤーのスプライトにアタッチする方法に似ています。
public class MoveX : MonoBehaviour { this.transform.Translate(0.1f, 0, 0); }
前者の方法は、レベル全体を管理するスクリプトに書くような感じになります。
この他にも、Extension に Functions を追加して使うこともできますし、一つのことを行うにもいろいろな方法があります。