Unityメモ

Unityで学んだことをメモするやつ

Application.LoadLevel() / 他のシーンを呼び出す

シーンの切り替えをスクリプトから行います。 ゲームの初期画面からプレイ画面への移動などの時に使用します。

まずは現在作っているシーンと別のシーンを作成します。

f:id:nullkun0803:20180419160719p:plain

シーンを作成したら、Build Settingを行います。

f:id:nullkun0803:20180419161044p:plain

Build Settingを開いて、以下のようにAssetsからドラッグ&ドロップすると、現在のプロジェクトで使用するシーンが追加されます。

f:id:nullkun0803:20180419161832p:plain

この設定をしておかないと、他のシーンから別のシーンを呼び出すことができないので注意してください。

別のシーンから呼び出す際はApplication.LoadLevel関数を使用します。 ある条件になったら、Application.LoadLevel("シーン名");という形で実行するとシーンを呼び出すことができます。

以下がその例です。

public class BallBoxScript : MonoBehaviour {

    public GameObject block;
    int n = 0;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

        if(n > 10) {
            //blockが10個以上表示された場合は、別のシーンを呼び出す。
            Application.LoadLevel("GameOver");
        } else {
            //blockが10個より少ない場合は、新しいブロックを生成する。
                    if(Input.GetButtonUp("Jump")) {
                         Instantiate(block);
                         n ++;
                    }
                }
    }
}