Unity 6.3
0 онлайн 58 гостей 3 в системе
Вход

Cursor.lockState

Declaration

public static CursorLockMode lockState;

Описание

Определяет, заблокирован ли указатель оборудования в центре представления, ограничен ли он окном или вообще не ограничен.

Заблокированный курсор располагается в центре представления и не может быть перемещён. В этом состоянии курсор невидим независимо от значения Cursor.visible. Примечание: Заблокирование курсора не позволяет пользователю взаимодействовать с элементами UI.

Заблокированный курсор ведет себя нормально, но ограничен представлением. Например, если приложение запущено в окне, то заблокированный курсор не может покинуть это окно. Режим заблокированного курсора поддерживается только на автономных сборках Windows и Linux. Важно: В средах редактора Linux, использующих Wayland, мышь может разблокироваться, если основной поток заблокирован слишком долго.

Рекомендуется блокировать или ограничивать курсор только в результате действия пользователя, например, нажатия кнопки.

Состояние курсора может изменить операционная система или редактор. Например, проверяйте состояние курсора, когда приложение снова получает фокус или когда состояние игры меняется, чтобы показать интерфейс.

В редакторе курсор теряет фокус в режиме Game при нажатии клавиши 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; } } }