版本:Unity 6(6000.0)
语言英语
  • C#

Cursor.lockState

提出更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读来自我们用户的每条建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static CursorLockMode lockState;

描述

确定硬件指针是否锁定到视图中心、限定到窗口或根本不限定。

锁定光标位于视图的中心并无法移动。在这种情况下,光标是不可见的,无论 Cursor.visible 的值为多少。注意:锁定光标会阻止用户与 UI 元素互动。
限制光标的行为正常,但它限定在视图中。例如,如果应用程序在一个窗口中运行,则限定光标无法离开该窗口。限制光标模式仅支持 Windows 和 Linux 独立构建。

获得积极用户体验的推荐最佳做法仅在用户操作时才锁定或限制光标,例如按下按钮。

光标状态可以由操作系统或编辑器更改。例如,检查应用程序重新获取焦点或游戏状态更改为显示 UI 时光标的状态。

在编辑器中,当您按下 Escape 键或切换应用程序时,光标在游戏模式下失去焦点。在独立播放器中,您可以完全控制鼠标光标,但是如果您切换应用程序,光标将失去焦点。

这里描述的内容是否与您的预期不符?这可能是一个已知问题。请在

using UnityEngine;

public class CursorLockExample : MonoBehaviour { void Update() { //Press the space bar to apply no locking to the Cursor if (Input.GetKey(KeyCode.Space)) Cursor.lockState = CursorLockMode.None; }

void OnGUI() { //Press this button to lock the Cursor if (GUI.Button(new Rect(0, 0, 100, 50), "Lock Cursor")) { Cursor.lockState = CursorLockMode.Locked; }

//Press this button to confine the Cursor within the screen if (GUI.Button(new Rect(125, 0, 100, 50), "Confine Cursor")) { Cursor.lockState = CursorLockMode.Confined; } } }