一、直接切換
老版的(已棄用!):
Application.LoadLevel(int index); // 參數是場景編號
Application.LoadLevel(string name); // 參數是場景名字
新版的:
// 使用SceneManager!
using UnityEngine.SceneManagement; // 必須要引入
public class TestChangeScene : MonoBehaviour {
private string sceneName;
void ChangeScene(){
// 切換場景
SceneManager.LoadScene(1); // 參數是場景編號或場景名字
// 獲取當前場景的名字
sceneName = SceneManager.GetActiveScene().name;
}
}
注意點:
- 網上搜的資料大多是老版本的寫法,小心被坑!還是看文檔最靠譜。
- 需要把加載的場景在File -> Build Setting中添加。
- 切換場景后所有加載物體都將刪除,除非使用Object.DontDestroyOnLoad(Object)添加標記,例如人物角色(包括掛載在這些對象身上的腳本)在切換場景后需要保留,就可以用此方法。
二、異步加載場景
http://www.cnblogs.com/guxin/p/unity-use-coroutine-asynchronously-load-scene.html