【问题标题】:UNITY variables no longer updating in inspectorUNITY 变量不再在检查器中更新
【发布时间】:2019-03-03 23:01:15
【问题描述】:

搜索这个问题,我发现很多人都遇到过同样的问题,但我找不到好的解决方案,甚至找不到发生这种情况的解释。

以前在 VScode 中更新公共变量,然后保存并切换回 Unity 时,该变量会在检查器中自动更新。现在,我的代码的其他更改会自动编译(例如,如果我添加 Debug.Log 语句),但我在代码中明确设置的变量不会导入 Unity;仍将使用旧变量。重置组件将正确更新值,关闭/重新打开 Unity 也是如此。

在我的偏好设置中设置了自动刷新,并且我已经卸载/重新安装了 Unity 和 VScode。我什至完全删除它们并重新下载,但我仍然遇到同样的问题。

有谁知道导致此问题的原因或我该如何解决?

提前致谢。

【问题讨论】:

  • 在代码中更改之前是否更改了检查器中的值?
  • 不,我刚刚创建了一个新项目来解决这个问题,并且在更改代码中的值之前,检查器中的值从未更改过。
  • 您能否发布一个显示此问题的代码示例?

标签: c# unity3d visual-studio-code


【解决方案1】:

当您将某些内容标记为公共或使用属性 [SerializeField] 时,它将被序列化,并且将具有该值,直到您在检查器中更改它为止。序列化变量的目的是在检查器而不是代码中调整其值。如果您仍想将组件设置为默认脚本值,您可以单击组件上的齿轮并将其重置。

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多