[Unity]初始化场景的相关函数

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方法,而仅仅是先注册!

猜你喜欢

转载自blog.csdn.net/weixin_44286256/article/details/103021109