首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity场景到场景对象间通信:如何?

Unity场景到场景对象间通信:如何?
EN

Stack Overflow用户
提问于 2019-01-28 10:43:06
回答 1查看 539关注 0票数 0

Unity有能力让一个场景作为其他子场景的主机,在游戏中稍后添加和异步加载。

主机场景中的对象可以通过哪些方式了解并确保与附加加载子场景中的对象进行通信?

反之,附加加载的场景中的对象如何与其宿主场景中的对象进行通信?

EN

回答 1

Stack Overflow用户

发布于 2019-01-28 13:12:29

首先,在Unity的UnityEngine.SceneManagement包中,您可以使用返回SceneSceneManager.GetSceneByName("scene name here")。如果场景为空,则场景尚未加载。如果是,你可以使用isLoaded来检查是否加载了,SceneManager。您可以在此之后使用Find,但我不建议这样做,因为这是一个缓慢的过程。

其次,如果您引用的对象是一个GameObject,并且您需要一个附加到它的组件,那么您可以使用Singleton pattern,这样您就可以访问脚本的唯一实例。可以仅在OnDestroy下指定instance = null,以便在卸载场景时实例将消失。如果脚本位于主机场景中,则此选项是可行的,因为我假设它不会被卸载/销毁。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54394900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档