1.UnityEngine.SceneManagement.SceneManager.LoadScene
注:需要引用命名空间
using UnityEngine.SceneManagement;
使用:
SceneManager.LoadScene(0);
说明:重新加载场景函数,载入到索引为0的场景,同时销毁该场景的所有gameObject并重置为场景原来状态。
2.Object.DontDestroyOnLoad(和上个函数有关联)
使用:
DontDestroyOnLoad(gameObject);
说明:加载时不销毁物体函数,用于在调用上个LoadScene(int index)函数时使某个gameObject不被销毁并参数保留。
3.void Loaded.OnSceneLoaded(UnityEngine.SceneManagement.Scene scene, LoadSceneMode mode)
注:需要引入命名空间
using UnityEngine.SceneManagement;
使用:
void Awake () {
SceneManager.sceneLoaded += OnSceneLoaded; //每次场景加载时注册事件
}
...
void OnSceneLoaded(UnityEngine.SceneManagement.Scene scene, LoadSceneMode mode) {
// do things after scene loaded.
...加载场景时的程序
// Remove the delegate when no need.
SceneManager.sceneLoaded -= OnSceneLoaded;
}
说明:在脚本调用的时候Awake()内先注册事件,该事件的方法(OnSceneLoaded)会在每次场景加载的那一帧的结束时调用该方法,固Awake()注册后并非直接就调用了OnSceneLoaded方法,而仅仅是先注册!