Unity Update(5.3.1)导致组件错误

时间:2016-01-13 21:16:46

标签: text unity3d updates nullreferenceexception unityscript

我最近将我的Unity编辑器从5.2.2(我认为)更新到5.3.1,结果发生了一堆脚本错误。注意:脚本在uJS中。

重复出现的问题似乎与UI Text组件有关。以前的引用(例如var buttonText = instButton.GetComponentInChildren(Text);)现在会产生错误BCE0019: 'text' is not a member of 'UnityEngine.Component'.

尝试通过将引用转换为var buttonText : Text = instButton.GetComponentInChildren(Text);来解决此问题。但是,这只会将错误消息更改为:

 NullReferenceException: Object reference not set to an instance of an object
     UnityEngine.UI.Graphic.OnRebuildRequested () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:466)
     UnityEngine.UI.GraphicRebuildTracker.OnRebuildRequested () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/GraphicRebuildTracker.cs:33)
     UnityEngine.CanvasRenderer.RequestRefresh () 

但我不完全确定的原因是,这可能与程序包中缺少的脚本有关(不确定这可能与此问题有关)。

如果有人能够告诉我为什么会发生这种情况,我将非常感激。非常感谢Ryan

1 个答案:

答案 0 :(得分:0)

问题是由于我的参考松弛;而不是引用为var buttonText = instButton.GetComponentInChildren(Text);我应该使用var buttonText : Text = instButton.GetComponentInChildren.<Text>();

为什么这会成为5.3.3中的一个问题我不确定,但问题似乎已经解决了。