Unity中C#脚本隐藏光标报错CS0117的技术求助
问题原因
你的自定义脚本类名Cursor和Unity引擎内置的UnityEngine.Cursor类重名了,编译器会优先识别你自己定义的这个类,而你的类中并没有visible静态属性,因此触发CS0117错误。
解决方案
有两种可行的修复方式:
方式一:修改自定义类名
将你的脚本类名改为不与Unity内置类冲突的名称(比如CustomCursor),这样代码中的Cursor.visible会自动指向Unity的内置Cursor类。修改后的完整代码如下:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CustomCursor : MonoBehaviour { public Vector3 worldPosition; public GameObject cursorobj; void Start() { Cursor.visible = false; } void Update() { Vector3 mousePos = Input.mousePosition; mousePos.z = Camera.main.nearClipPlane; worldPosition = Camera.main.ScreenToWorldPoint(mousePos); cursorobj.transform.position = worldPosition; } }
方式二:使用完全限定名引用Unity内置Cursor类
如果不想修改类名,直接在代码中使用完整的命名空间来指定要调用的Unity内置Cursor类,修改第12行代码即可:
UnityEngine.Cursor.visible = false;
内容的提问来源于stack exchange,提问作者ohdy518
相关产品推荐
相关产品推荐

