🖱 Unity 鼠标控制 API 技术文档
| 类别 | 成员 / 枚举值 | 类型 / 参数 | 功能说明 | 鼠标显示情况 |
|---|---|---|---|---|
| 属性 | Cursor.visible |
bool |
控制鼠标指针是否可见 | true 显示false 隐藏 |
| 属性 | Cursor.lockState |
CursorLockMode |
控制鼠标锁定状态,用于切换交互模式 | 由锁定模式决定 |
| 方法 | Cursor.SetCursor() |
Texture2D Vector2 CursorMode |
设置自定义鼠标指针 | 取决于 Cursor.visible |
| 枚举 | CursorLockMode.None |
CursorLockMode |
不锁定,鼠标可自由移出窗口 | 由 Cursor.visible 决定 |
| 枚举 | CursorLockMode.Locked |
CursorLockMode |
锁定到屏幕中心,仅返回移动增量 | 自动隐藏(忽略 Cursor.visible) |
| 枚举 | CursorLockMode.Confined |
CursorLockMode |
限制鼠标在游戏窗口内(桌面平台) | 由 Cursor.visible 决定 |
🧪 示例:锁定并隐藏鼠标
public static void LockCursor(bool value = true)
{
#if UNITY_STANDALONE || UNITY_WEBGL
Cursor.visible = !value;
Cursor.lockState = value ? CursorLockMode.Locked : CursorLockMode.None;
#endif
}
Cursor.SetCursor(...) 是 Unity 中用于设置鼠标光标外观的 API,常见于 PC / Mac 游戏或编辑器工具中,用来在不同交互状态下切换鼠标样式(例如:默认、攻击、可交互、拖拽等)。
一、方法签名
Cursor.SetCursor(
Texture2D texture,
Vector2 hotspot,
CursorMode cursorMode
);
二、参数
1️⃣ Texture2D texture
光标贴图
-
用于显示的鼠标图片
-
通常是 小尺寸透明 PNG
- 常见尺寸:
16×16、32×32、64×64
- 常见尺寸:
-
需要在 Import Settings 中:
Texture Type = CursorAlpha Is Transparency = On
public Texture2D attackCursor;
2️⃣ Vector2 hotspot
热点(点击判定点)
- 表示光标图片中 “真正点击的位置”
- 坐标原点在 贴图左上角
- 单位是 像素
常见写法:
Vector2 hotspot = new Vector2(0, 0);
// 左上角(适合箭头光标)
Vector2 hotspot = new Vector2(
texture.width / 2,
texture.height / 2
);
// 中心点(适合准星、圆形光标)
3️⃣ CursorMode cursorMode
光标模式
CursorMode.Auto // 推荐:自动选择最佳方式
CursorMode.ForceSoftware // 强制软件光标(兼容性好,但性能略差)
| 模式 | 说明 |
|---|---|
Auto |
使用硬件光标(性能最好,默认) |
ForceSoftware |
用软件绘制(某些平台或特殊需求) |
三、最基本示例
public Texture2D cursor;
void Start()
{
Cursor.SetCursor(cursor, Vector2.zero, CursorMode.Auto);
}
效果:
➡ 游戏开始时,将鼠标换成指定图片
四、常见使用场景
🎯 1. 不同状态切换光标
void OnMouseEnter()
{
Cursor.SetCursor(hoverCursor, hotspot, CursorMode.Auto);
}
void OnMouseExit()
{
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}
texture = null→ 恢复系统默认光标
五、注意事项(非常重要)
⚠ 常见问题
- 贴图太大
- 光标不会自动缩放
- 未设置 Texture Type = Cursor
- 可能模糊或无法正确显示
- 热点设置错误
- 点击位置明显偏移
- WebGL
- 部分浏览器对自定义光标支持有限

浙公网安备 33010602011771号