UE4でOculus Riftコンテンツを作る入門記事「この通りにやれば、ほぼねこのるんばが完成する筈」
の続きです
前回のままだとゲームを起動した瞬間にルンバが動き出す(メンバ変数Startedのデフォルト値がTrueなら)ので、Oculus Riftを被る暇がありません。
任意のキーを押したら、一斉に復数のルンバが動き出すように改造しましょう。

イベントディスパッチャーという機能を使って、任意のキーを押した瞬間に復数のルンバを同時に動き出させます。


取り敢えず、ねこのるんばでのPawnクラスであるMyCharacterのブループリントに書いてみます。
2015-01-07 21_01_16-NekoNoRoomba - アンリアル・エディタ
イベントディスパッチャーというのを追加します

2015-01-07 21_02_42-NekoNoRoomba - アンリアル・エディタ
RoobaStartという名前にしてみました

2015-01-07 20_59_27-NekoNoRoomba - アンリアル・エディタ
アクションマッピングを追加します(しなくてもいいです)
こっちはStartRoombaという名前に(別にRoombaStartでもUsagiでも何でもいいです)
左右両方のCtrlキーに設定

2015-01-07 21_11_01-SCMII
InputActionイベントのStartRoomba入力イベントノードを書いて、
イベントディスパッチャーRoombaStartの呼び出しノードを書きます
左側のイベントディスパッチャー欄からドロップするなり、普通にノードを伸ばして検索するなりして書いてください

2015-01-07 21_18_20-NekoNoRoomba - アンリアル・エディタ
アクションマッピングを使わないなら、普通にキー入力を拾っても構いません

2015-01-07 20_57_58-NekoNoRoomba - アンリアル・エディタ
BP_Roombaに上図右半分のノードを書き足します
※注意点として、「SET」ノードから伸ばして「MyCharacterへキャストする」を検索しても出てこないことです
Get Player Character の青いReturn Valueから伸ばせば見つかります。
「イベントをRoombaStart とバインドする」ノードも同様です。
「MyCharacterへキャストする」のAs My Character C から伸ばせば見つかります。
白線を直接伸ばしても参照が判らないからとか何とかそんな理由だからだそうです。
これで、RoombaStartイベントが起これば、ブーリアン変数StartedがTrueになります。
2015-01-07 21_33_23-NekoNoRoomba - アンリアル・エディタ

(□にチェックを入れていれば)

2015-01-07 21_34_19-NekoNoRoomba - アンリアル・エディタ
 BP_Roombaのメンバ変数Startedのデフォルト値をfalse(チェック無し)にして保存、コンパイルしましょう。
 
2015-01-07 21_04_41-NekoNoRoomba - アンリアル・エディタ
 これで、ゲーム開始時には止まっていて、Ctrlキーを押せば、復数のルンバが一斉に動き出すようになります。
レベル上に配置したときの向きへそれぞれ動き出す筈です。
めでたしめでたし



んん?
なんでそんな七面倒臭いことするんだ?
2015-01-07 21_06_11-NekoNoRoomba - アンリアル・エディタ
BP_RoombaのデフォルトのInput欄 Auto Receive InputをPlayer 0に変更して入力を受け付けて

普通にキー入力を拾って、
2015-01-07 21_05_16-NekoNoRoomba - アンリアル・エディタ

 これじゃ駄目なのか?
っと思いましたが、やってみたら、ひとつルンバしか動き出しませんでした。