これでスタート画面やエンド画面を作ることができる!!
関連
#クリア画面で、リターンキー押下でスタート画面へ遷移したい場合
下記の例では、クリア画面で、リターンキー押下で、
SceneStartというSceneへ遷移するようにしている。
clear.cs
using UnityEngine.SceneManagement; //ここ必要
using UnityEngine;
public class clear : MonoBehaviour
{
void Update()
{
//ここから
if (Input.GetKey(KeyCode.Return)) //リターンキー押下時に
{
SceneManager.LoadScene("SceneStart"); //"SceneStart"というSceneへ遷移する
}
//ここまで
}
}
プレイヤーが、Targetというタグに触れたらゲームオーバーのSceneへ遷移する場合の記述
また、
プレイヤーがTargetというタグに触れたらゲームオーバーのSceneへ遷移したい場合は下図参照
if (col.gameObject.tag == "Target") {
SceneManager.LoadScene("SceneEnd");
}
スタート画面で、ボタン押下時にゲーム画面へ遷移する場合
btn_start.cs
using UnityEngine;
using UnityEngine.SceneManagement;
public class btn_start : MonoBehaviour
{
public void OnClick()
{
SceneManager.LoadScene("GameScene"); //ここに遷移先のSceneファイル名を記入する
}
}
ボタンの設定の仕方メモ
- ボタンを追加
- ボタンのコンポーネントの中で「Button」コンポーネントがあるので、そこにリストを追加
- スクリプトがアタッチされているオブジェクトをアタッチして、
- Scene遷移を記述しているメソッドを指定する
実行時は、ビルド設定で、Sceneファイルを含めておく必要があるので、スクリプトを書いて満足しないように!!
おまけ:FPSゲームなどでマウスカーソル非表示後のエンドシーンでマウスカーソルを復活させる場合
- StandardAssetsのFPSコントローラーを使っていると、よくぶつかる問題です。
- 下記スクリプトは単体として記述していますが、実際には、エンドシーンのリトライなどのボタン押下のスクリプトに織り交ぜても良いと思います。
cursorFormat.cs
using UnityEngine;
public class cursorFormat : MonoBehaviour
{
void Update()
{
Cursor.lockState = CursorLockMode.None; //マウスカーソルの設定を初期化して、
Cursor.visible = true; //マウスカーソルを表示する
}
}