アクターにカンタンな動作を付けてみる

さて、ここまではPopfly Game Creatorにおけるゲーム制作の流れを追ってきましたが、省略していたアクターに振る舞い(動作)を設定する方法を紹介します。アクターを場面に張り付けるだけではゲームを作ることはできません。時間の経過に合わせてオブジェクトを動かしたり、キーやマウスの入力に反応して、ゲームを進行させる必要があります。場合によっては、ゲーム実行時に、動的にオブジェクトを表示させたり、消したりしなければならないでしょう。こうした、実行時の動作はすべて振る舞いを表すBehaviors(Actors内)の中に記述します。もう一度、図8のDogアクターの画面に戻ってBehaviorsを選択してください。

図8 Actors→Dogアクター→Behaviorsと選択して、アクターに動作を設定する「Behaviors」画面を表示

デフォルトの状態では「DisappearOnScreenLeave」という名前の振る舞いが登録されています。これは、オブジェクト自身が画面の外に移動した場合に、そのオブジェクトを削除するという意味の命令が含まれています。このイベントは、特別な理由がない限りそのままで問題ありません。

Behaviors画面の左側にあるボタンは、追加する新しい振る舞いを表しています。この場では、キーボードの方向キーを入力すると、Dogオブジェクトが移動するという振る舞いを追加してみましょう。一般的なプログラミング環境であれば、キー入力のイベントを登録し、イベントが発生した時点で押されたキーを判定し、オブジェクトの座標を変更するといったコードを書かなければなりませんでした。しかし、Popfly Game Creatorでは、こうした作業もすべてビジュアルに行えます。

最初に、左側のボタンの中から「Motion」を選択します(図17)。

図17 「Motion」をクリック

右側のリスト内に「Motion1」という名前の新しい振る舞いが追加されます。振る舞いの名前は、開発者が任意に変更できます。登録された振る舞いには、さらに個々の細かい設定が必要です。図18をご覧ください。

図18 新たに「Motion1」が追加され、その後「Event」ボタンを押す

「Event」は、この振る舞いの実行の引き金となるイベントを設定します。キーボードが押された、マウスがクリックされたといったプレイヤーからの入力のほかに、一定の時間が経過した場合や、他のオブジェクトと衝突した場合など、振る舞いを起動する条件が用意されています。その横の「Filter」は、Eventに加えて特定の値に関連した条件を付け加えることができます。「Motions」は、アクターの動きに関連した振る舞いを表します。「Sound」は、この振る舞いに関連付けて再生するサウンドを選択します。デフォルトで多くの効果音が用意されています。最後の「Code」は、実際に作成されたJavaScriptコードが表示されます。コードを編集することで、直接プログラムを書くことも可能です。

まずはEventボタンを押して、キーボードのキーが入力された時に振る舞いを実行するように設定する必要があります。Eventボタンを押すと「Choose an Event」というイベント選択画面が表示されます。この左側にある「Choose one」パネルを見てください(図19)。

図19 左パネルにイベントが列挙されるので、「Keyboard」を選択

Choose oneパネルは、選択するイベントの種類を列挙しています。今回は、キーボードのキー入力に合わせてDogオブジェクトを移動させることが目的なので、キーボードの入力をイベントに合わせて振る舞う必要があります。キーボード入力のイベントを受けるには「Keyboard」ボタンを押してください。

図20 キーボード画面が表示される

図20のような、キーボードが画面上に表示されます。このうち、どのボタンに対してイベントを受けるかを選択します。複数のボタンを選択することもできます。まずは「下ボタンを押したらオブジェクトを下に移動させる」ようにしましょう。そのために、画面上のキーボードの方向キーのうち、下(↓)ボタンを選択してください(図21)。

上部の「Press」は対象のキーが押されたとき、「While Down」は押されている間、「Release」は離された時にイベントに関連付けられている振る舞いを実行することを表します。キャラクターの移動は、キーが押されている間に実行するものなので、今回はWhile Downを選択します。上部に警告が表示されますが、これは「Motion」の設定を変更することで解決できます。

図21 下キーを押している間、キャラクターを下に移動させるには、「下」キーを選択して「While Down」を選ぶ