Unity脚本MonoBehaviour错误

Posted

技术标签:

【中文标题】Unity脚本MonoBehaviour错误【英文标题】:Unity script MonoBehaviour error 【发布时间】:2014-01-16 05:40:09 【问题描述】:

我正在 Unity 中开发一款汽车驾驶游戏。我试图制作一些触摸屏按钮并添加用于测试鼠标和触摸输入的 C# 脚本,但我收到控制台错误消息

"Assets/Standard Assets/MouseButton.cs(4,28): 错误 CS0246: 类型 或找不到命名空间名称“MonoBehavior”。您是否缺少 using 指令或程序集引用?”

下面列出的脚本:

using UnityEngine;

using System.Collections;

public class MouseButton : MonoBehavior 

  void OnMouseDown() 
      Debug.Log("The Mouse is down on " + this.name);
  

  void OnMouseUp()
  
      Debug.Log("The Mouse is up on " + this.name);
  
   

【问题讨论】:

【参考方案1】:

对我来说,在 Windows 10、Visual Studio 2019 和 Unity 2020LTS 上运行:

    检查它实际上是 "MonoBehaviour" 而不是 "MonoBehavior"。或单个脚本行为。如果您打开第二个脚本,MonoBehavior 不会标记为红色。 如果问题在所有脚本中都存在,则进行备份(以防万一),并在 Project 中右键单击 Asset 并“Reimport All”。 如果这不起作用,并且问题仍然存在,请选择编辑 > 首选项... > 外部工具 > 外部脚本编辑器 > 并将“Visual Studio..” 切换为“按文件扩展名打开” “ 或相反亦然。只是切换工作。注意:“按文件扩展名打开”不会自动完成。 如果您选择“按文件扩展名打开”,自动完成功能将不起作用。您可以尝试“Visual Studio [版本号]”。然后转到 Package Manager > Packages:在 Project > Visual Studio Editor 中并升级到最新的验证版本。删除“Visual Studio 代码编辑器”。最后是“全部重新导入”。

【讨论】:

【参考方案2】:

小错字,但我也遇到过,所以我可以联系起来。

它是 MonoBehaviour,就像你在英式英语中所说的那样,而不是 MonoBehavior。

https://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.html

【讨论】:

确实是错字!尤其是当您创建新脚本时,模板脚本会插入正确的拼写!感谢您的回复,很抱歉这个愚蠢的问题!

以上是关于Unity脚本MonoBehaviour错误的主要内容,如果未能解决你的问题,请参考以下文章

Unity脚本类为啥要尽量避免继承MonoBehaviour类

004-unity3d MonoBehaviour脚本方法简介

用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 在脚本中使用MonoBehaviour

Unity脚本类为啥要尽量避免继承MonoBehaviour类

Unity3D_02_基类MonoBehaviour/自带函数以及脚本执行的生命周期

unity脚本挂载不了???而且我根据教材为啥一个简单的都不行