将Unity脚本附加到gameObject时出现错误

7

当我尝试将我的脚本附加到gameObject时,出现了错误。

'EnemyBehaviour'缺少类属性'ExtensionOfNativeClass'!

有时候,我会收到以下错误:

无法添加脚本行为CallbackExecutor。该脚本需要从Monobehaviour派生!

我已确保我的类是从MonoBehaviour派生的。

3个回答

6
在我的情况下,这个错误是由于一个引用旧版本的类所引起的,该类曾经从MonoBehaviour派生(在当前版本中不再派生)。我所要做的就是将其从场景中的GameObject上移除。

5
为解决您的问题:
  1. 修复此脚本和其他脚本中的所有编译器错误。其他脚本中的编译错误可能会导致Unity编辑器无法分析当前脚本。进入Visual Studio中的代码,构建整个解决方案。在返回Unity编辑器之前,请修复所有编译器错误。

  2. 确保您脚本中的类从MonoBehaviour派生。这是显而易见的,但令人惊讶的是,有时即使您的类已经从MonoBehaviour派生,仍会收到此消息!如果是这样,请先修复其他脚本中的所有编译器错误(参见第1项)。

  3. 确保 类名与脚本名称完全相同(包括大小写)

我通过修复不同脚本中的编译器错误(第1项)并更正我的脚本文件名中的一个拼写错误(第3项)来解决我的问题。


0

如果您正在使用最新版本(2020+),那么您现在不需要将静态类附加到游戏对象上。您可以从任何地方调用它。因此,只需从对象中删除脚本即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接