【发布时间】:2019-02-06 21:45:15
【问题描述】:
当我尝试将脚本附加到游戏对象时出现错误。
“EnemyBehaviour”缺少类属性 'ExtensionOfNativeClass'!
又一次,我得到了:
无法添加脚本行为 CallbackExecutor。脚本需要 源自 Monobehaviour!
我已确保我的类派生自 MonoBehaviour。
【问题讨论】:
标签: unity3d
当我尝试将脚本附加到游戏对象时出现错误。
“EnemyBehaviour”缺少类属性 'ExtensionOfNativeClass'!
又一次,我得到了:
无法添加脚本行为 CallbackExecutor。脚本需要 源自 Monobehaviour!
我已确保我的类派生自 MonoBehaviour。
【问题讨论】:
标签: unity3d
解决您的问题:
修复此脚本和所有其他脚本的所有编译器错误。编译 其他脚本中的错误可能导致 Unity 编辑器无法 分析您当前的脚本。转到 Visual Studio 中的代码,然后 构建整个解决方案。在返回之前修复所有编译器错误 到 Unity 编辑器。
确保脚本中的类继承自 单一行为。这是显而易见的,但令人惊讶的是,有时, 即使您的类继承自 单行为!如果是这样,您应该修复其他中的所有编译器错误 脚本(阅读第 1 项)。
确保类名与脚本名完全相同 (即使是相同的大小写)。
我通过修复不同脚本中的编译器错误(第 1 项)并修复脚本文件名中的拼写错误(第 3 项)解决了我的问题。
【讨论】:
在我的例子中,这个错误是由一个旧版本的类的引用引起的,该类曾经从 MonoBehaviour 派生(在当前版本中,它不是)。我所要做的就是将它从场景中的 GameObject 中移除。
【讨论】:
如果您当时使用的是最新版本(2020+),则无需将静态类附加到 GameObject。您可以从任何地方调用它。所以只需从对象中删除脚本。
【讨论】: