Unity NullReferenceException 仅在 Building 而不是在编辑器中

问题描述 投票:0回答:0

我有一个菜单要激活。我在我的脚本中引用了它:

我可以使用

objectMenu.SetActive(true);
将其设置为活动状态。这在我在编辑器中运行应用程序时有效,但是当我在桌面或 Android 上使用构建和运行时,我在执行
objectMenu.SetActive(true)
.

时得到 NullReferenceException

问题

为什么会发生这种情况,为什么它在编辑器中起作用,而不是在我尝试构建它时起作用?


我试过的

  1. 我使用 Visual Studio 命令 (Shift+F12) 查找引用,但没有人以任何方式设置它。 我只读取值,从不设置它:
  2. 我附加了一个空脚本,这样我仍然可以使用
    FindObjectOfType<ObjectFindScript>()
    获取对象,如果它为 null 但我仍然得到 NullReference。
  3. 我尝试删除引用并将其添加回去。
  4. 我用
    GameObject
    切换了
    Transform
    ,当我访问它时我使用了
    objectMenu.gameObject
    .
  5. 我添加了一个检查它是否为空,然后跳过抛出错误的代码,显然其余代码有效,但设置菜单活动没有。
  6. 我尝试创建对菜单的第二个引用,如果初始菜单对象为空,我将其设置为等于第二个对象,但这也不起作用。

我发现的关于这个错误的一切都没有在编辑器中正确设置,我猜几乎每个使用 Unity 的人都会遇到这种情况,但我已经三次检查它并且它被设置为一个游戏对象。

c# unity3d nullreferenceexception unity-editor
© www.soinside.com 2019 - 2024. All rights reserved.