【发布时间】:2018-09-08 19:09:25
【问题描述】:
我有两个场景:菜单和游戏。我正在使用 C#。
当你在游戏中死去时,你会被送回菜单
SceneManager.LoadScene("Menu");
菜单中有一个带有 GUIButton 的脚本,单击该脚本会加载游戏
SceneManager.LoadScene("Game");
我想要发生的是,当我单击菜单场景中的按钮时,它会加载游戏,就像我刚刚在编辑器中打开游戏场景时单击播放按钮一样。
相反,它进入了游戏场景,但游戏场景中的一些对象似乎丢失了。我没有在任何地方使用 DontDestroyOnLoad()。
场景中的某些对象确实出现了,但其他对象则没有。最奇怪的是,缺失对象的脚本中有一些数据字段被其他一些脚本引用,并且这些字段给出了有意义的值。
有谁知道发生了什么,或者我可以做些什么来获得预期的结果?
【问题讨论】:
-
你在使用一些单例吗?
-
@RyanSingh 我不知道单例是什么。什么是单例,我如何知道我是否在使用单例?
-
@RyanSingh 自从发布那篇文章以来,我已经看过一个单例教程......我有几个对象的代码基本上完成了单例的工作,如果实例变量已经加载,则会自行销毁。我会检查这是否是导致对象被破坏的原因......编辑:是的,这就是导致问题的原因。