[英]Unity Scene-to-Scene inter-object communication: HOW?
在游戏的后期,Unity可以让一个场景作为其他子场景的主机,以增补和异步方式加载。
主机场景中的对象可以通过什么方式知道并确保与添加加载的子场景中的对象通信?
反之,加性加载场景中的对象如何与其宿主场景中的对象通信?
首先,在Unity的UnityEngine.SceneManagement包中,您可以使用SceneManager.GetSceneByName("scene name here")
,该返回Scene
。 如果场景为空,则尚未加载场景。 如果是,则可以使用isLoaded
来检查是否已加载SceneManager 。 之后,您可以使用“ Find
,但是我不建议您这样做,因为这是一个缓慢的过程。
其次,如果您要引用的对象是GameObject
并且需要附加组件,则可以使用Singleton模式,以便可以访问脚本的唯一实例。 您可以在OnDestroy
下分配instance = null
,以便在卸载场景时实例消失。 如果脚本位于宿主场景中,则此选项是可行的,因为我认为脚本没有卸载/销毁。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.