シーンを切り替える
1つのプロジェクトで複数のシーンを用意し、それを切り替える例を説明します。
以下のように2つのシーンを作成します。
シーンの保存は、メインメニューより「File」-「Save Scene」で行います。
スクリプトとして以下のようにしました。
SceneA.cs
using UnityEngine; using System.Collections; public class SceneA : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnGUI () { GUI.Label(new Rect(20, 40, 80, 20), "Scene A"); } }
SceneB.cs
using UnityEngine; using System.Collections; public class SceneB : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnGUI () { GUI.Label(new Rect(20, 40, 80, 20), "Scene B"); } }
GUIとして、左上に「Scene A」「SceneB」と表示するだけのものです。
それぞれのスクリプトをそれぞれのシーンのカラのGameObjectにアタッチしてます。
スクリプトからシーンの呼び出し
ここではジャンプの操作(Spaceキーを押す)とシーンをトグルで切り替えます。
入力については「自キャラを動かす」を参照。
SceneA.csで
void FixedUpdate () { if (Input.GetButton("Jump")) { Application.LoadLevel("sceneB"); } }
SceneB.csで
void FixedUpdate () { if (Input.GetButton("Jump")) { Application.LoadLevel("sceneA"); } }
を追加。
「Application.LoadLevel」で指定のシーンに切り替えます。
これだけでは動作しません。
Build Settingsにシーンを追加
メインメニューの「File」-「Build Settings」で、Assetからシーンをドラッグして追加。
Build Settingsはこの後閉じてOK。
これで、シーンの切り替えが動作するようになります。
最後にロードされたレベル(シーン)を判別
int levelIndex = Application.loadedLevel; string levelName = Application.loadedLevelName;
「Application.loadedLevel」で最後にロードされたレベル番号を取得、
「Application.loadedLevelNam」で最後にロードされたレベル名を取得。
最終更新時間:2014年04月11日 16時07分44秒