Version: 2021.3

参数

value 使用 UnityAction<Scene> 或者某种方法(采用 Scene 类型参数)的订阅。

描述

向此事件添加委托以在卸载场景时收到通知。

此脚本代码没有直接调用事件,而是显示了使用委托的情形。这表示 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"); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961