もう一度ゲームプレイするためのリトライボタンをつくってみましょう。
Retryを押すとシーンが再ロードされて、リスタートします。
関連記事:
リトライボタンが効かない場合の解決法
Escapeキーで画面を閉じる
ボタンを押すと画面を閉じる
タイムアップになればリトライボタンを表示
シーンの準備
動きを確認しやすいように、Cubeを移動させます。
Cubeオブジェクトを作成して、CubeMove.csを追加しています。
CubeMove.csを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private float speed = 2; void Update() { transform.position += new Vector3(Time.deltaTime * speed, 0, 0); if(transform.position.x >= 10) { Destroy(gameObject); } } } |
ゲームプレイしてまずはCubeの動きを確認します。
リスタートのスクリプト
シーンを再ロードするためのスクリプトを作成します。
空のオブジェクトを作成しましょう。
GameObject(空のオブジェクト)に、GameManager.csを作成して追加します。
GameManager.csを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { public void Retry() { SceneManager.LoadScene(SceneManager.GetActiveScene().name); } } |
using UnityEngine.SceneManagement;を忘れずに書いておきましょう。
ボタンの設置
ボタンを作ります。
CanvasのUIスケールモードは、画面サイズに拡大を選びました。
画面の拡縮に合わせて、ボタンサイズが自動調整されます。
ボタン内のテキストを、Retryに書き変えました。
ボタンの位置を調整して、以下のように配置しました。
ボタンでスクリプトを呼び出す
GameManager.csの中のRetry()を呼び出せるように、ボタンを設定しましょう。
クリック時()の中の「+」マークをクリック。
以下の順に、フィールド内を設定していきます。
ゲームプレイして動きを確認しましょう。
Retryボタンクリックで、シーンが再スタートします。
関連記事:
リトライボタンが効かない場合の解決法
Escapeキーで画面を閉じる
ボタンを押すと画面を閉じる
タイムアップになればリトライボタンを表示