Unity5.5 でシーン遷移する方法(サンプルコード付き)

Unityで頻繁に使用するシーン遷移ですが、使用するのにちょっとしたコツがあったのでメモ。

(adsbygoogle = window.adsbygoogle || []).push({});

SceneManager.LoadSceneとApplication.LoadLevelの違い

Unityの技術書を何冊か見ているとシーン遷移をする際にSceneManager.LoadSceneを使っている技術書とApplication.LoadLevelが使われている技術書がありました。実はApplication.LoadLevelは現在非推奨となっておりWarningが出現するので、Unity5.3以降はSceneManager.LoadSceneを使う必要があります。

Application.LoadLevelを使用した際のWarning

出現したWarningが以下になります。

warning CS0618: `UnityEngine.Application.LoadLevel(string)' is obsolete: `Use SceneManager.LoadScene'

一応シーン遷移できますがSceneManager.LoadSceneを使った遷移も簡単なので直してしまいましょう。

SceneManager.LoadSceneの使い方

早速実装していきましょう。SceneManager.LoadSceneを使ったコードが以下になります。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class NewBehaviourScript : MonoBehaviour {

	public void sample () {
		SceneManager.LoadScene ("SceneName");
	}
}

ポイントは4行目の「using UnityEngine.SceneManagement」を追記する事、これがないと動きませんでした。

実行した際にコンソールに

「Scene '****Scene' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded.To add a scene to the build settings use the menu File->Build Settings...」
と表示される場合は「File」→「Build Setting...」のScene In BuildにSceneが追加されているか確認しましょう。

シェアする

コメント

おすすめの関連記事