我知道我可以从MonoBehaviour
继承并向SceneManager.sceneLoaded
添加一些处理函数,如官方文档https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager-sceneLoaded.html中所述。
我的问题是,我是否需要在场景中创建一个空的游戏对象,并在该游戏对象上附加一个脚本来完成这些工作?或者有其他更好的做法?
我知道我可以从MonoBehaviour
继承并向SceneManager.sceneLoaded
添加一些处理函数,如官方文档https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager-sceneLoaded.html中所述。
我的问题是,我是否需要在场景中创建一个空的游戏对象,并在该游戏对象上附加一个脚本来完成这些工作?或者有其他更好的做法?
2条答案
按热度按时间b5lpy0ml1#
这是一个很好的实践。创建一个
SceneManager
空GameObject
。附加一个继承自MonoBehaviour
的脚本,并在其中处理所有与场景相关的操作。非常清晰,直奔主题。
wljmcqd82#
是的,这是一条路。
您不必须为此要求
GameObject
。例如,您还可以使用
[RuntimeInitializeOnLoadMethod]
并在其中附加侦听器,然后进一步处理它。什么是“更好”当然在很大程度上取决于您的使用情形和要求