【日本語】 UE4 ホッケーゲーム part.27 ゲームポーズ、終了、ロード 【チュートリアル】
ゲームオーバー時の処理を完成させよう。問題だったのは、10点とっても、マレットやパックが動くので、得点が加算されていくこと。マレットの動きを効かなくするとか、パックを一時的に消してしまってもイイのだが、一番簡単なのが、ゲームをポーズ(pause)させてしまうことだ。これで、パックもマレットも止まる。なんと、このゲームポーズは、たった1つのノードで出来てしまう。[Set Game Paused] だ。恐るべし。
----------
これで、ゲームは止まり(ゲームのTickが処理されない)、パックもマレットも動かなくなる。だが、マウスは動くし、ウィジェットのボタンも受け付ける。非常に好都合な状態になる。では、ウィジェットのボタンを機能させるよう、ノードを追加していこう。
- "WG_YouWin" の [Graph] モード
- [My Blueprint] の [Variables] の "Button_PlayAgain" を選択
- [Details] の [Events] の [On clicked] の "+" をクリック
- シュルシュルっと [OnClicked (Button_PlayAgain)] が出る
- "Button_Quit" も同様にして [OnClicked (Button_Quit)] を出し
それぞれ、
[Open Level] につなぐ。[Level Name] は "LV_2_Game"
[Quit Game] につなぐ
【追加の解説】
[1]~[4] ボタンの場合は、以前もやったように、勝手に変数化してくれて、しかも、イベントも選べるようにしてくれるので楽だった。しかしコレ、実は、[Designer] モードの方で、[Is Variable] にチェックが入っている必要がある。[Is Variable] にチェックがあるから、[My Blueprint] で変数(variable)に追加されていたのだ。UE4が勝手にやってくれるので、あたりまえのことと思ってしまうが、一応意識しておこう。
[5] [Open Level] は最初の頃に出てきたもので、レベル移動するためのノードだった。ゲームをもう一度したい時は、再度、2面(LV_2_Game)をオープンしなおしてやればイイということ。
[Quit Game] はその名の通り、ゲームを終了させるノード。他に、[Execute Console Command] で "Quit" と書き込み、終了させる方法もある。
"WG_YouLose" も同様に作れば、ゲームオーバーの処理は完成だ。
----------
ポーズも、ゲーム終了も、ちゃんとノードが用意されていて便利。今日はあっという間に終わった。これでほぼ、
- ゲームの開始
- ゲームのメイン
- ゲームの終了
という、ゲームに必要な最短の流れが、完成と言える。あとは、敵側のマレットを動かせればイイかな。あ、マテリアルか。というわけで、ここまで。では、また。
"Save All"。