向此添加委托以在场景卸载时接收通知。
此脚本代码展示了委托的使用,而不是直接调用。这意味着 sceneUnloaded 值将添加到委托列表中。
在下面的脚本示例中,显示了方法调用。具体来说,名为 OnSceneUnloaded 的函数被添加到 sceneUnloaded。当与之关联的场景关闭时,将调用 SceneUnloaded。此时,应从 sceneUnloaded 列表中删除 SceneUnloaded。
using UnityEngine; using UnityEngine.SceneManagement;
public class SceneLoaded1 : MonoBehaviour { public void Start() { SceneManager.sceneUnloaded += OnSceneUnloaded; Debug.Log("Start: SceneLoaded1"); }
private void OnSceneUnloaded(Scene current) { Debug.Log("OnSceneUnloaded: " + current); }
void Update() { if (Input.GetKey("space")) { Debug.Log("Quitting Scene1"); ChangeScene(); } }
void ChangeScene() { Debug.Log("Changing to Scene2");
SceneManager.LoadScene("Scene2"); }
void OnDestroy() { Debug.Log("OnDestroy"); } }
SceneLoaded2
只是宣布这是活动场景。
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class SceneLoaded2 : MonoBehaviour { public void Start() { Debug.Log("SceneLoaded2"); } }