输入系统通过 Mouse
类实现的鼠标设备布局表示鼠标输入。鼠标基于指针布局。
要查询上次使用或添加的鼠标,请使用 Mouse.current
:
注意: 输入系统目前不支持:
在平台级别从多个鼠标输入。
确定鼠标所在的当前显示器。
除了从 Pointer
继承的控件外,鼠标设备还实现了以下控件:
控件类型描述leftButtonButtonControl左键,等同于继承的 Pointer.press
。rightButtonButtonControl右键。middleButtonButtonControl中键。forwardButtonButtonControl用于其他鼠标按钮(如果适用)。backButtonButtonControl用于其他鼠标按钮(如果适用)。clickCountIntegerControl读取上次鼠标点击所属的连续点击次数(由操作系统报告)。可用于区分双击或多次点击。scrollVector2Control表示鼠标滚轮控件输入,以像素为单位显示自上次帧以来的增量。此输入可以来自物理滚轮或触控板手势。
在桌面平台(Windows、Mac、Linux 和 UWP)上,可以通过代码移动鼠标光标。需要注意的是,这会移动系统的实际鼠标光标,而不仅仅是 Unity 内部存储的鼠标位置。这意味着用户会看到光标跳到不同的位置,通常被认为是糟糕的用户体验(UX)实践。建议仅在光标隐藏时执行此操作(更多信息请参阅光标 API 文档)。
要将光标移动到其他位置,可以使用 Mouse.WarpCursorPosition
。坐标以 Unity 屏幕坐标表示,与 Mouse.position
一样:
注意: 如果光标被锁定,鼠标位置的跳转只是暂时的,Unity 会在每帧将光标重置到窗口中心。