版本: Unity 6 (6000.0)
语言英语
  • C#

SceneManager.sceneUnloaded

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每一个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

参数

使用 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"); } }