【第7回】リトライ処理の作り方

前回の作業でゲームオーバー処理を作ることができました。しかし現状ではゲームオーバー画面が出た後に何も起きないので、ゲームに再挑戦したい場合にとても不便です。

そこでここではゲームにリトライ機能をつけてすぐに再挑戦できるようにしていきます。

スポンサーリンク

Visual Scriptingでリトライ機能を作る方法

では早速ですがVisual Scriptingでリトライ機能を作っていきましょう。

ゲームオーバー用トリガーに変数を追加する

まず、前回作ったゲームオーバー用トリガーに必要な変数を追加します。次の2つの変数を新しく作ってください。

  • Retry Transform(Transform型)
  • Is Game Over(Boolean型)

そうしたら、適当な位置に新しい空のゲームオブジェクトを作り「Retry Transform」と名前を変更して先ほど作った変数の欄に登録しましょう。このゲームオブジェクトの座標が、リトライしたときのプレイヤーの再出現位置になります。

ゲームオーバー用トリガーのグラフにリトライ処理を追加する

次に前回作ったゲームオーバー用トリガーのグラフに、リトライに必要な処理を追加します。はじめに前回作った処理の末尾(つまりSet Activeユニット)の次に下図のSet Variableユニットを追加してください。

ゲームオーバー処理の末尾に追加する処理

つまりゲームオーバーになったら「Is Game Over」をTrueにするというわけです。これができたら、次は(結構長い処理になりますが)Updateイベントに下図の処理を作りましょう。

Visual Scriptingによるリトライ処理

いや~面倒なグラフになってしまいました。一応簡単に解説しておくと、左から

  1. ゲームオーバー中にジャンプ入力があったら…
  2. プレイヤーの座標を再出現位置にして、プレイヤーのゲームオブジェクトをアクティブ化
  3. ゲームオーバー画面のキャンバスを無効化
  4. Spawnerのゲームオブジェクトを有効化
  5. 最後にIs Game OverをFalseにして終了

といった流れになっています。Visual Scriptingだと長ったらしいグラフになってしまうので「何これ」と思うかもしれませんが、処理内容さえ理解できれば全然難しくないと思います。

テストプレイして動作を確認しよう

では最後にテストプレイして動作を確認しましょう。ゲームオーバー後にジャンプボタンを押したら再びゲームが始まるようになれば成功です。


次のページ→Visual Scriptingを使った「スコア加算・セーブ処理」の作り方