- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!シーンを切り替える
1つのプロジェクトで複数のシーンを用意し、それを切り替える例を説明します。
以下のように2つのシーンを作成します。
シーンの保存は、メインメニューより「File」-「Save Scene」で行います。
{{ref_image unity_scene_chane_01.png}}
スクリプトとして以下のようにしました。
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キーを押す)とシーンをトグルで切り替えます。
入力については「[[自キャラを動かす|unity_move_mychar]]」を参照。
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からシーンをドラッグして追加。
{{ref_image unity_scene_chane_02.png}}
Build Settingsはこの後閉じてOK。
これで、シーンの切り替えが動作するようになります。
!!最後にロードされたレベル(シーン)を判別
int levelIndex = Application.loadedLevel;
string levelName = Application.loadedLevelName;
「Application.loadedLevel」で最後にロードされたレベル番号を取得、
「Application.loadedLevelNam」で最後にロードされたレベル名を取得。
----
{{lastmodified}}