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类