Input
Синглтон для обработки входных данных.
Синглтон для обработки входных данных.
Синглтон Input обрабатывает нажатия клавиш, кнопки мыши и движение, геймпады и действия ввода. Действия и их события можно задать на вкладке Input Map в Project > Настройки проекта или с помощью класса InputMap.
Примечание: Методы Input отражают глобальное состояние ввода и не зависят от Control.AcceptEvent или Viewport.SetInputAsHandled, поскольку эти методы имеют дело только со способом распространения ввода в EntityTree.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства6
EmulateMouseFromTouchСвойство
public static bool EmulateMouseFromTouch { get; set; }Если true, отправляет события ввода мыши при нажатии или пролистывании на сенсорном экране. См. также ProjectSettings.input_devices/pointing/emulate_mouse_from_touch.
EmulateTouchFromMouseСвойство
public static bool EmulateTouchFromMouse { get; set; }Если true, отправляет события сенсорного ввода при щелчке или перетаскивании мыши. См. также ProjectSettings.input_devices/pointing/emulate_touch_from_mouse.
IgnoreJoypadOnUnfocusedApplicationСвойство
public static bool IgnoreJoypadOnUnfocusedApplication { get; set; }Если true, ввод с геймпада (включая датчики движения) и изменения светодиодной индикации будут игнорироваться, а вибрация геймпада будет прекращена, когда приложение не находится в фокусе.
MouseModeСвойство
public static Input.MouseModeEnum MouseMode { get; set; }Управляет режимом мыши.
SingletonСвойство
public static InputInstance Singleton { get; }UseAccumulatedInputСвойство
public static bool UseAccumulatedInput { get; set; }Включает объединение совместимых событий до доставки, например суммирование перемещения нескольких событий мыши. Не объединяет произвольные типы событий и не гарантирует один вызов каждого обработчика за кадр. При false объединение отключено, но agile_event_flushing может сохранять очередь. Изменение свойства не сбрасывает уже накопленные события.
Методы86
ActionPressvoid
public static void ActionPress(StringName action, float strength = 1f);Программно переводит существующее действие в нажатое состояние с силой, ограниченной диапазоном 0–1. Влияет на опрос Input, но не отправляет InputEvent в дерево и не вызывает _Input() сам по себе. Для синтетического события используйте ParseInputEvent(); завершайте программное удержание через ActionRelease().
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
strength | float | 1f |
ActionReleasevoid
public static void ActionRelease(StringName action);Выпускает указанный элемент ввода, если действие в настоящее время нажатие.
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
AddJoyMappingvoid
public static void AddJoyMapping(string mapping, bool updateExisting = false);Добавляет в базу данных и факультативно обновляет уже подключенные устройства новую запись картографирования (в формате SDL). Примечание: Смотрите. Документация SDL для получения дополнительной информации о формате картирования регулятора SDL.
| Имя | Тип | По умолчанию |
|---|---|---|
mapping | string | — |
updateExisting | bool | false |
ClearJoyMotionSensorsCalibrationvoid
public static void ClearJoyMotionSensorsCalibration(int device);Очищает информацию о калибровке датчиков движения указанного геймпада, если таковые имеются и были ли они откалиброваны.
См. Input.StartJoyMotionSensorsCalibration для примера использования датчиков движения и калибровки геймпада в играх.
Примечание: Эта функция поддерживается только в Windows, Linux, macOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
FlushBufferedEventsvoid
public static void FlushBufferedEvents();Последовательно доставляет события из очереди Input. Может синхронно вызвать обработчики ввода до возврата из метода. Движок также вызывает сброс в своём цикле; явный вызов нужен для контролируемого порядка, а не для универсального ускорения. При пустой очереди не повторяет прошлые события. Не считывает заново физические устройства и не измеряет задержку до дисплея.
GetAccelerometerVector3
public static Vector3 GetAccelerometer();Возвращает ускорение в м/с² акселерометрического датчика устройства, если он есть. В противном случае метод возвращает Vector3.Zero.
Обратите внимание, что этот метод возвращает пустой Vector3 при запуске из редактора, даже если на вашем устройстве есть акселерометр. Вам необходимо экспортировать свой проект на поддерживаемое устройство, чтобы считать значения с акселерометра.
Примечание: Этот метод работает только на Android и iOS. На других платформах он всегда возвращает Vector3.Zero.
Примечание: Для Android необходимо включить ProjectSettings.input_devices/sensors/enable_accelerometer.
Vector3GetActionRawStrengthfloat
public static float GetActionRawStrength(StringName action, bool exactMatch = false);Возвращает стоимость между 0.0 и 1.0 В большинстве случаев, вы должны использовать Input.GetActionStrength вместо этого.
Если exact_match это false, он игнорирует дополнительные входные изменения для InputEventKey и InputEventMouseButton события и направление InputEventJoypadMotion события.
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
exactMatch | bool | false |
floatGetActionStrengthfloat
public static float GetActionStrength(StringName action, bool exactMatch = false);Возвращает стоимость между 0.0 и 1.0 В радужной пачке, например, дальше от оси (аналоговые палочки или спусковые устройства L2, R2) находится от мертвой зоны, чем ближе значение будет к 1.0. Если действие отображается до органа управления, не имеющего оси, подобной клавиатуре, то возвращенное значение будет следующим: 0.0 или 1.0.
Если exact_match это false, он игнорирует дополнительные входные изменения для InputEventKey и InputEventMouseButton события и направление InputEventJoypadMotion события.
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
exactMatch | bool | false |
floatGetAxisfloat
public static float GetAxis(StringName negativeAction, StringName positiveAction);Возвращает силу положительного действия минус силу отрицательного. Использует GetActionStrength, поэтому отличается от круговой обработки двух осей в GetVector.
| Имя | Тип | По умолчанию |
|---|---|---|
negativeAction | StringName | — |
positiveAction | StringName | — |
negativeActionИмя существующего действия отрицательного направления.
positiveActionИмя существующего действия положительного направления.
floatОбычно значение от -1 до 1; ноль может означать отсутствие ввода или взаимную компенсацию двух направлений.
GetConnectedJoypadsReckfell.Collections.Array<int>
public static Reckfell.Collections.Array<int> GetConnectedJoypads();Возвращает ID устройств, помеченных подключёнными. Не предполагайте, что первый ID равен 0 или сохраняет назначение игроку после переподключения.
Reckfell.Collections.Array<int>Массив текущих подключённых ID; может быть пустым. Синтетическое событие оси само по себе не подтверждает подключение физического устройства.
GetCurrentCursorShapeInput.CursorShape
public static Input.CursorShape GetCurrentCursorShape();Возвращает текущую назначенную форму курсора.
Input.CursorShapeGetDeviceOrientationQuaternion
public static Quaternion GetDeviceOrientation();Возвращает направление устройства как Quaternion, с использованием синтеза датчиков аппаратного уровня для получения стабильных, не дрейфующих результатов. Если устройство не поддерживает зондирование ориентации, метод возвращается. Quaternion.Identity.
Вернутый кватерион представляет собой вращение от рамы координат устройства до мировой системы координат. В портретном режиме система координат устройства: X право, Y вверх, Z в сторону зрителя.
Примечание: Этот метод работает только на Android и iOS. Quaternion.Identity.
Примечание: Для Андроида, ProjectSettings.input_devices/sensors/enable_device_orientation Должен быть включён.
QuaternionGetGravityVector3
public static Vector3 GetGravity();Возвращает силу тяжести (gravity) в м/с² акселерометрического датчика устройства, если он есть. В противном случае метод возвращает Vector3.Zero.
Примечание: Этот метод работает только на Android и iOS. На других платформах он всегда возвращает Vector3.Zero.
Примечание: Для Android необходимо включить ProjectSettings.input_devices/sensors/enable_gravity.
Vector3GetGyroscopeVector3
public static Vector3 GetGyroscope();Возвращает скорость вращения в рад/с вокруг осей X, Y и Z устройства датчика гироскопа, если устройство имеет таковой. В противном случае метод возвращает Vector3.Zero.
Примечание: Этот метод работает только на Android и iOS. На других платформах он всегда возвращает Vector3.Zero.
Примечание: Для Android ProjectSettings.input_devices/sensors/enable_gyroscope должен быть включен.
Vector3GetJoyAccelerometerVector3
public static Vector3 GetJoyAccelerometer(int device);Возвращает ускорение, включая силу тяжести, в м/с2 датчика акселерометра джойстика, если он есть и в настоящее время включен. Vector3.ZeroСм. также Input.GetJoyGravity и Input.SetJoyMotionSensorsEnabled.
Для радужной пасты, находящейся перед вами, возвращенные оси определяются следующим образом:
+X ... -Х: слева... справа;
+Y ... - Y: снизу... сверху;
+Z ... - Z: дальше... ближе.
Значение части тяжести измеряется как вектор с длиной 9.8 Вдали от центра Земли, что является отрицательным значением Y.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
Vector3GetJoyAxisfloat
public static float GetJoyAxis(int device, JoyAxis axis);Читает сохранённое значение физической оси конкретного устройства. Не применяет мёртвую зону Input Map и не доказывает, что устройство сейчас подключено.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
axis | JoyAxis | — |
deviceТекущий ID контроллера, не номер игрока. Для списка подключённых устройств используйте GetConnectedJoypads.
axisОсь JoyAxis, например LeftX. Направление и назначение проверяйте на целевом устройстве.
floatСохранённое значение оси; при отсутствии записи возвращает 0. Ноль не является проверкой подключения.
GetJoyGravityVector3
public static Vector3 GetJoyGravity(int device);Возвращает гравитацию в м/с2 датчика акселерометра джойстика, если он есть и в настоящее время включен. Vector3.ZeroСм. также Input.GetJoyAccelerometer и Input.SetJoyMotionSensorsEnabled.
Для радужной пасты, находящейся перед вами, возвращенные оси определяются следующим образом:
+X ... -Х: слева... справа;
+Y ... - Y: снизу... сверху;
+Z ... - Z: дальше... ближе.
Значение части тяжести измеряется как вектор с длиной 9.8 Вдали от центра Земли, что является отрицательным значением Y.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
Vector3GetJoyGuidstring
public static string GetJoyGuid(int device);Возвращает совместимый с SDL прибор GUID на платформах, которые используют реминг Gamepad, например. 030000004c050000c405000000010000Reckfell использует внутренние карты SDL, дополняемые картами с участием общины, для определения имен игровых струнок и карт на основе этого GUID.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
stringGetJoyGyroscopeVector3
public static Vector3 GetJoyGyroscope(int device);Читает калиброванную угловую скорость гироскопа. Перед использованием проверяйте подключение, поддержку датчиков, включение и состояние калибровки.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
deviceID контроллера с подготовленными датчиками.
Vector3Vector3 в радианах в секунду. При отсутствующих данных или игнорировании ввода возвращает ноль; ноль не доказывает неподвижность или отсутствие дрейфа.
GetJoyInfoReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetJoyInfo(int device);Возвращает словарь, содержащий дополнительную информацию о устройстве с конкретной платформой, например имя сырой геймпад из OS или паром Input указатель.
На Windows, Linux, acOS и iOS словарь содержит следующие поля:
raw_name:: название контроллера, исходящее от OS, перед переименованием в базу данных контроллера.
vendor_id:: Идентификационный номер устройства USB-продавца.
product_id: Идентификационный номер устройства USB.
serial_number: Серийный номер устройства. Этот ключ не будет присутствовать, если серийный номер отсутствует.
Словарь может также включать следующие поля в выбранных платформах:
steam_input_index:: Пар Input Идентификатор gampad (только Windows, Linux и acOS). Если устройство не является паром Input Этого ключа не будет.
xinput_index: Индекс регулятора в системе XInput (только Windows). Этот ключ не будет присутствовать для устройств, не управляемых XInpot.
Примечание: Вернутый словарь всегда пуст в Android и Web.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
Reckfell.Collections.DictionaryGetJoyMotionSensorsCalibrationReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetJoyMotionSensorsCalibration(int device);Возвращает информацию о калибровке датчиков движения указанного джойстика в виде Reckfell.Collections.Dictionary, если таковые имеются и если они были откалиброваны; в противном случае возвращает пустой Reckfell.Collections.Dictionary.
Словарь содержит следующие поля:
gyroscope_offset: среднее смещение значений гироскопа относительно Vector2.Zero в рад/с.
См. Input.StartJoyMotionSensorsCalibration для примера использования датчиков движения и калибровки джойстика в ваших играх.
Примечание: Эта функция поддерживается только в Windows, Linux, macOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
Reckfell.Collections.DictionaryGetJoyMotionSensorsRatefloat
public static float GetJoyMotionSensorsRate(int device);Возвращает частоту срабатывания датчика движения геймпада в Гц, если геймпад оснащен датчиками движения и они в данный момент включены. См. также Input.SetJoyMotionSensorsEnabled.
Примечание: Эта функция поддерживается только в Windows, Linux, macOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
floatGetJoyNamestring
public static string GetJoyName(int device);Возвращает название джойста в указанном индексе устройства, например. PS4 Controller. " Reckfell " использует База данных контроллеров игр SDL чтобы определить имена геймпадов.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
stringGetJoyNumTouchpadsint
public static int GetJoyNumTouchpads(int device);В противном случае метод возвращает количество тачдадов на заданном джойстаде. 0.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
intGetJoyTouchpadFingerPositionVector2
public static Vector2 GetJoyTouchpadFingerPosition(int device, int finger, int touchpad = 0);Возвращает положение указанного пальца на указанном тротуаре на джойстике. Значения X и Y, если указанный палец касается указанного пальца, находятся в диапазоне от 0.0 в адрес 1.0, с (0.0, 0.0) отражая левый верхний угол тачдада и (1.0, 1.0) отражает нижний правый угол.
Если джойста не имеет указанного тачдада или указанный палец сейчас не касается пальца, этот метод возвращается. Vector2(-1.0, -1.0).
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
finger | int | — |
touchpad | int | 0 |
Vector2GetJoyTouchpadFingerPressurefloat
public static float GetJoyTouchpadFingerPressure(int device, int finger, int touchpad = 0);Возвращает давление указанного пальца на указанный тротуар на джойстике. Значение возврата, если указанный палец касается указанного пальца, находится в диапазоне от 0.0 в адрес 1.0.
Если джойста не имеет указанного тачдада или указанный палец сейчас не касается пальца, этот метод возвращается. -1.0.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
finger | int | — |
touchpad | int | 0 |
floatGetJoyTouchpadFingersint[]
public static int[] GetJoyTouchpadFingers(int device, int touchpad = 0);Возвращает набор идентифицирующих пальцев, которые в настоящее время касаются указанной пальцем пальцы на джойстаде. Если в радужной пачке нет указанного пальца или нет пальцев, то этот метод возвращает пустой массив.
Примечание: Чтобы получить положение пальца пальца пальца, используйте Input.GetJoyTouchpadFingerPosition.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
touchpad | int | 0 |
int[]GetJoyVibrationDurationfloat
public static float GetJoyVibrationDuration(int device);Возвращает длительность текущего эффекта вибрации в секундах.
Примечание: Этот метод возвращает то же значение, которое было передано в Input.StartJoyVibration, и это значение не изменяется после окончания вибрации джойстика, оно сбрасывается только после вызова Input.StopJoyVibration.
Если вы хотите проверить, продолжает ли вибрировать джойстик, используйте вместо этого Input.IsJoyVibrating.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
floatGetJoyVibrationRemainingDurationfloat
public static float GetJoyVibrationRemainingDuration(int device);Возвращает оставшуюся продолжительность текущего вибрационного эффекта в секундах.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
floatGetJoyVibrationStrengthVector2
public static Vector2 GetJoyVibrationStrength(int device);Возвращает силу вибрации джойстика: x — сила слабого двигателя, а y — сила сильного двигателя.
Примечание: Этот метод возвращает те же значения, которые были переданы в Input.StartJoyVibration, и эти значения не изменяются, когда вибрация джойстика заканчивается, они сбрасываются только после вызова Input.StopJoyVibration.
Если вы хотите проверить, продолжает ли вибрировать джойстик, используйте вместо этого Input.IsJoyVibrating.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
Vector2GetLastMouseScreenVelocityVector2
public static Vector2 GetLastMouseScreenVelocity();Возвращает последнюю скорость мыши в координатах экрана. Чтобы обеспечить точную и свободную от дрожания скорость, скорость мыши вычисляется только каждые 0,1 с. Поэтому скорость мыши будет отставать от движений мыши.
Vector2GetLastMouseVelocityVector2
public static Vector2 GetLastMouseVelocity();Возвращает последнюю скорость мыши. Чтобы обеспечить точную и свободную от дрожания скорость, скорость мыши вычисляется только каждые 0,1 с. Поэтому скорость мыши будет отставать от движений мыши.
Vector2GetMagnetometerVector3
public static Vector3 GetMagnetometer();Возвращает напряженность магнитного поля в микротеслах для всех осей датчика магнитометра устройства, если он есть. В противном случае метод возвращает Vector3.Zero.
Примечание: Этот метод работает только на Android и iOS. На других платформах он всегда возвращает Vector3.Zero.
Примечание: Для Android необходимо включить ProjectSettings.input_devices/sensors/enable_magnetometer.
Vector3GetMouseButtonMaskMouseButtonMask
public static MouseButtonMask GetMouseButtonMask();Возвращает кнопки мыши как битовую маску. Если одновременно нажато несколько кнопок мыши, биты суммируются. Эквивалентно DisplayServer.MouseGetButtonState.
MouseButtonMaskGetMouseModeInput.MouseModeEnum
public static Input.MouseModeEnum GetMouseMode();Input.MouseModeEnumGetVectorVector2
public static Vector2 GetVector(StringName negativeX, StringName positiveX, StringName negativeY, StringName positiveY, float deadzone = -1f);Строит вектор из необработанных сил четырёх действий, применяет круговую мёртвую зону и ограничивает длину единицей. Сохраняет аналоговую величину; не нормализуйте результат безусловно, если нужна неполная скорость.
| Имя | Тип | По умолчанию |
|---|---|---|
negativeX | StringName | — |
positiveX | StringName | — |
negativeY | StringName | — |
positiveY | StringName | — |
deadzone | float | -1f |
negativeXДействие отрицательного направления X, например влево.
positiveXДействие положительного направления X, например вправо.
negativeYДействие отрицательного направления Y; в типичной схеме 2D — вверх.
positiveYДействие положительного направления Y; в типичной схеме 2D — вниз.
deadzoneКруговая мёртвая зона. Отрицательное значение берёт среднее четырёх зон действий. Для явного порога используйте проверенное конечное число от 0 включительно до 1 не включительно.
Vector2Вектор с длиной 0–1. При зоне 0,2 raw-вектор (0,3; 0,4) дал (0,225; 0,3); (1; 1) ограничился единичной длиной. Это не два независимо обработанных GetAxis.
HasJoyLightbool
public static bool HasJoyLight(int device);Проверяет зарегистрированную возможность подсветки выбранного устройства. Подключение и поддержка других функций проверяются отдельно; наличие API не гарантирует функцию у любого контроллера.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
deviceТекущий ID устройства из GetConnectedJoypads, не номер игрока.
booltrue при зарегистрированной поддержке; false при отсутствии возможности или неизвестном ID. Отказ для неизвестного ID выполнен в проверке.
HasJoyMotionSensorsbool
public static bool HasJoyMotionSensors(int device);Проверяет зарегистрированную возможность датчиков движения выбранного устройства. Подключение и поддержка других функций проверяются отдельно; наличие API не гарантирует функцию у любого контроллера.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
deviceТекущий ID устройства из GetConnectedJoypads, не номер игрока.
booltrue при зарегистрированной поддержке; false при отсутствии возможности или неизвестном ID. Отказ для неизвестного ID выполнен в проверке.
HasJoyVibrationbool
public static bool HasJoyVibration(int device);Проверяет зарегистрированную возможность вибрации выбранного устройства. Подключение и поддержка других функций проверяются отдельно; наличие API не гарантирует функцию у любого контроллера.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
deviceТекущий ID устройства из GetConnectedJoypads, не номер игрока.
booltrue при зарегистрированной поддержке; false при отсутствии возможности или неизвестном ID. Отказ для неизвестного ID выполнен в проверке.
IsActionJustPressedbool
public static bool IsActionJustPressed(StringName action, bool exactMatch = false);Возвращает true в кадре или физическом такте начала нажатия действия. Несколько чтений в одном такте могут вернуть true; метод не является очередью событий. Если нужно разрешить интерфейсу забрать событие раньше игры, обрабатывайте его в _UnhandledInput().
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
exactMatch | bool | false |
boolIsActionJustPressedByEventbool
public static bool IsActionJustPressedByEvent(StringName action, InputEvent @event, bool exactMatch = false);Returns (Возврат) true когда пользователь * начал* нажатие события действия в текущей кадрах или физике, и первое событие, которое спровоцировало действие пресс в текущей кнопке/физике, было: event. Оно только вернется true на раме или кнопке, которую пользователь нажал на кнопку.
Это полезно для кода, который должен работать только один раз при нажатии действия, и действие обрабатывается во время обработки входных данных (например. Entity._Input).
Если exact_match это false, он игнорирует дополнительные входные изменения для InputEventKey и InputEventMouseButton события и направление InputEventJoypadMotion события.
Примечание: Возвращение true , не означает, что действие нажимается. true все равно будет возвращена, чтобы не пропустить вход.
Примечание: Из-за призрака клавиатуры, Input.IsActionJustPressed может вернуться false даже если один из ключей действия нажат. Input примеры в документации для дополнительной информации.
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
event | InputEvent | — |
exactMatch | bool | false |
boolIsActionJustReleasedbool
public static bool IsActionJustReleased(StringName action, bool exactMatch = false);Возвращает true, когда пользователь прекращает нажатие на событие действия в текущем кадре или такте физики. Возвращает true только в том кадре или такте, когда пользователь отпускает кнопку.
Примечание: Возвращение true не означает, что действие ещё не нажато. Действие можно быстро отпустить и снова нажать, и true всё равно будет возвращено, чтобы не пропустить ввод.
Если exact_match равен false, он игнорирует дополнительные модификаторы ввода для событий InputEventKey и InputEventMouseButton, а также направление для событий InputEventJoypadMotion.
Примечание: Во время обработки входных данных (например, Entity._Input) используйте InputEvent.IsActionReleased для запроса состояния действия текущего события. См. также Input.IsActionJustReleasedByEvent.
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
exactMatch | bool | false |
boolIsActionJustReleasedByEventbool
public static bool IsActionJustReleasedByEvent(StringName action, InputEvent @event, bool exactMatch = false);Возвращает true, когда пользователь прекращает нажатие кнопки действия в текущем кадре или такте физики, и первым событием, вызвавшим отпускание кнопки в текущем кадре/такте физики, было event. Возвращает true только в том кадре или такте, когда пользователь отпускает кнопку.
Это полезно, когда действие обрабатывается во время обработки ввода (например, Entity._Input).
Примечание: Возврат true не означает, что действие ещё не нажато. Действие можно быстро отпустить и снова нажать, и true всё равно будет возвращён, чтобы не пропустить ввод.
Если exact_match равен false, он игнорирует дополнительные модификаторы ввода для событий InputEventKey и InputEventMouseButton, а также направление для событий InputEventJoypadMotion.
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
event | InputEvent | — |
exactMatch | bool | false |
boolIsActionPressedbool
public static bool IsActionPressed(StringName action, bool exactMatch = false);Сообщает, удерживается ли действие Input Map. Это опрос состояния, а не обработка одного события; вызов не расходует нажатие. Для однократной реакции используйте IsActionJustPressed() или событие в _UnhandledInput(). Принятое интерфейсом событие не блокирует этот опрос автоматически.
| Имя | Тип | По умолчанию |
|---|---|---|
action | StringName | — |
exactMatch | bool | false |
boolIsAnythingPressedbool
public static bool IsAnythingPressed();Возвращает true, если нажато какое-либо действие, клавиша, кнопка джойстика или кнопка мыши. Это также вернет true, если какое-либо действие имитируется через код путем вызова Input.ActionPress.
boolIsEmulatingMouseFromTouchbool
public static bool IsEmulatingMouseFromTouch();boolIsEmulatingTouchFromMousebool
public static bool IsEmulatingTouchFromMouse();boolIsIgnoringJoypadOnUnfocusedApplicationbool
public static bool IsIgnoringJoypadOnUnfocusedApplication();boolIsJoyButtonPressedbool
public static bool IsJoyButtonPressed(int device, JoyButton button);Возвращает true, если вы нажимаете кнопку джойстика по индексу button.
Примечание: Если вы хотите проверить, была ли только что нажата кнопка джойстика, используйте систему действий ввода Reckfell с помощью Input.IsActionJustPressed или используйте метод Entity._Input следующим образом:
public override void _Input(InputEvent @event)
{
if (@event is InputEventJoypadButton eventButton && eventButton.Pressed && eventButton.ButtonIndex == JoyButton.A)
{
// Your code here.
}
}| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
button | JoyButton | — |
boolIsJoyKnownbool
public static bool IsJoyKnown(int device);Возвращает true, если система знает указанное устройство. Это означает, что она устанавливает все индексы кнопок и осей. Неизвестные джойстики не должны соответствовать этим константам, но вы все равно можете извлекать из них события.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
boolIsJoyMotionSensorsAutoCalibrationEnabledbool
public static bool IsJoyMotionSensorsAutoCalibrationEnabled(int device);Returns (Возврат) true если автоматическая калибровка включена на датчиках движения джойстика. Автоматическая калибровка допускается по умолчанию. См. также Input.SetJoyMotionSensorsAutoCalibrationEnabled.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
boolIsJoyMotionSensorsCalibratedbool
public static bool IsJoyMotionSensorsCalibrated(int device);Читает флаг завершённой/заданной калибровки. Это не оценка качества неподвижности: StopJoyMotionSensorsCalibration выставляет флаг после завершения процедуры.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
deviceID устройства, состояние которого проверяется.
boolТекущее значение флага; false при отсутствии данных датчиков. Даже true требует проверки дрейфа на реальном устройстве.
IsJoyMotionSensorsCalibratingbool
public static bool IsJoyMotionSensorsCalibrating(int device);Returns (Возврат) true если датчики движения джойста в настоящее время калибруются вручную.
Смотрите. Input.StartJoyMotionSensorsCalibration для примера о том, как использовать датчики движения и калибровку в ваших играх.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
boolIsJoyMotionSensorsEnabledbool
public static bool IsJoyMotionSensorsEnabled(int device);Returns (Возврат) true если в требуемом джойстике есть датчики движения (гироскоп и/или акселерометр) и они включены. См. также Input.SetJoyMotionSensorsEnabled и Input.HasJoyMotionSensors.
Смотрите. Input.StartJoyMotionSensorsCalibration для примера о том, как использовать датчики движения и калибровку в ваших играх.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
boolIsJoyVibratingbool
public static bool IsJoyVibrating(int device);Возвращает true, если джойстик продолжает вибрировать после вызова Input.StartJoyVibration.
В отличие от Input.GetJoyVibrationStrength и Input.GetJoyVibrationDuration, этот метод возвращает false после того, как вибрация джойстика прекращается.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
boolIsKeyLabelPressedbool
public static bool IsKeyLabelPressed(Key keycode);Возвращает true, если вы нажимаете клавишу с напечатанным на ней keycode. Вы можете передать константу Key или любой код символа Unicode.
Примечание: Если вы хотите проверить, была ли только что нажата клавиша, используя её метку, используйте систему действий ввода Reckfell с помощью Input.IsActionJustPressed или используйте метод Entity._Input следующим образом:
public override void _Input(InputEvent @event)
{
if (@event is InputEventKey eventKey && !eventKey.IsEcho() && eventKey.Pressed && eventKey.KeyLabel == Key.Space)
{
// Your code here.
}
}| Имя | Тип | По умолчанию |
|---|---|---|
keycode | Key | — |
boolIsKeyPressedbool
public static bool IsKeyPressed(Key keycode);Returns (Возврат) true Если вы нажимаете латинский ключ в текущей компоновке клавиатуры. Вы можете пройти Key Постоянно.
Input.IsKeyPressed рекомендуется только пересчитать Input.IsPhysicalKeyPressed Это гарантирует, что ключи будут вести себя так, как ожидалось, в зависимости от конфигурации клавиатуры пользователя, поскольку клавиши клавиш обычно зависят от компоновки клавиш в неигровых приложениях. Input.IsPhysicalKeyPressed.
Примечание: Из-за призрака клавиатуры, Input.IsKeyPressed может вернуться false даже если один из ключей действия нажат. Input примеры в документации для дополнительной информации.
Примечание: Если вы хотите проверить, был ли ключ нажат с помощью его кода, используйте систему ввода данных Reckfell с Input.IsActionJustPressed или использовать Entity._Input Вместо этого:
public override void _Input(InputEvent @event)
{
if (@event is InputEventKey eventKey && !eventKey.IsEcho() && eventKey.Pressed && eventKey.Keycode == Key.Space)
{
// Your code here.
}
}| Имя | Тип | По умолчанию |
|---|---|---|
keycode | Key | — |
boolIsMouseButtonPressedbool
public static bool IsMouseButtonPressed(MouseButton button);Возвращает true, если вы нажимаете кнопку мыши, указанную в MouseButton.
Примечание: Если вы хотите проверить, была ли только что нажата кнопка мыши, используйте систему действий ввода Reckfell с помощью Input.IsActionJustPressed или используйте метод Entity._Input следующим образом:
public override void _Input(InputEvent @event)
{
if (@event is InputEventMouseButton eventMouseButton && eventMouseButton.Pressed && eventMouseButton.ButtonIndex == MouseButton.Left)
{
// Your code here.
}
}| Имя | Тип | По умолчанию |
|---|---|---|
button | MouseButton | — |
boolIsPhysicalKeyPressedbool
public static bool IsPhysicalKeyPressed(Key keycode);Returns (Возврат) true Если вы нажимаете ключ в физическом месте на клавиатуре 101/102-ключ США QWERTY. Вы можете пройти через кнопку. Key Постоянно.
Input.IsPhysicalKeyPressed рекомендуется пересчитать Input.IsKeyPressed для игровых действий, как это будет делать Input.IsPhysicalKeyPressed также обеспечит, чтобы ключи верхнего ряда работали на любой компоновке клавиатуры. Input.IsPhysicalKeyPressed.
Примечание: Из-за призрака клавиатуры, Input.IsPhysicalKeyPressed может вернуться false даже если один из ключей действия нажат. Input примеры в документации для дополнительной информации.
Примечание: Если вы хотите проверить, был ли ключ нажат с помощью его физического кода, используйте систему ввода данных Reckfell с Input.IsActionJustPressed или использовать Entity._Input Вместо этого:
public override void _Input(InputEvent @event)
{
if (@event is InputEventKey eventKey && !eventKey.IsEcho() && eventKey.Pressed && eventKey.PhysicalKeycode == Key.Space)
{
// Your code here.
}
}| Имя | Тип | По умолчанию |
|---|---|---|
keycode | Key | — |
boolIsUsingAccumulatedInputbool
public static bool IsUsingAccumulatedInput();Читает флаг UseAccumulatedInput. Не сообщает, пуста ли очередь событий или какова физическая задержка ввода.
boolТекущее значение флага объединения событий. false не означает отсутствия любой буферизации.
ParseInputEventvoid
public static void ParseInputEvent(InputEvent @event);Подает InputEvent в игру. Может использоваться для искусственного запуска событий ввода из кода. Также генерирует вызовы Entity._Input.
var cancelEvent = new InputEventAction();
cancelEvent.Action = "ui_cancel";
cancelEvent.Pressed = true;
Input.ParseInputEvent(cancelEvent);Примечание: Звонок на эту функцию не влияет на операционную систему. InputEventMouseMotion не будет двигать OS курсор мыши в указанное положение (использование) Input.WarpMouse вместо этого) и отправке InputEventKey Не будет болтать между активными окнами.
| Имя | Тип | По умолчанию |
|---|---|---|
event | InputEvent | — |
RemoveJoyMappingvoid
public static void RemoveJoyMapping(string guid);Удаляет все сопоставления из внутренней базы данных, которые соответствуют данному GUID. Все подключенные в данный момент джойпады, которые используют этот GUID, станут не сопоставленными. На Андроид Reckfell будет сопоставлен с внутренним резервным сопоставлением.
| Имя | Тип | По умолчанию |
|---|---|---|
guid | string | — |
SetAccelerometervoid
public static void SetAccelerometer(Vector3 value);Устанавливает значение ускорения акселерометрического датчика. Может использоваться для отладки на устройствах без аппаратного датчика, например, в редакторе на ПК. Примечание: Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
value | Vector3 | — |
SetCustomMouseCursorvoid
public static void SetCustomMouseCursor(Resource image, Input.CursorShape shape = Input.CursorShape.Arrow, Vector2? hotspot = default);Устанавливает изображение выбранного системного слота курсора. Пустой ресурс сбрасывает слот к системному виду. Не выбирает форму для каждого Control и не делает скрытый/захваченный курсор видимым. При Engine.IsEditorHint вызов пропускается.
| Имя | Тип | По умолчанию |
|---|---|---|
image | Resource | — |
shape | Input.CursorShape | Input.CursorShape.Arrow |
hotspot | Vector2? | default |
imageImage или Texture2D с изображением. Общий предел — 256×256; целевые платформы проверяйте отдельно. Используйте прозрачность и импорт без потерь. Пустой ресурс нужен для сброса, а не пустой Image.
shapeСлот CursorShape, по умолчанию Arrow. Замена Ibeam не меняет изображение Arrow.
hotspotТочка клика внутри изображения, по умолчанию (0, 0). Используйте конечные координаты существующего пикселя; обвязка CursorTheme отклоняет отрицательные и граничные значения.
SetDefaultCursorShapevoid
public static void SetDefaultCursorShape(Input.CursorShape shape = Input.CursorShape.Arrow);Устанавливает форму курсора по умолчанию для использования в области просмотра вместо Input.CursorShape.Arrow.
Примечание: Если вы хотите изменить форму курсора по умолчанию для узлов Control, используйте вместо этого Control.MouseDefaultCursorShape.
Примечание: Этот метод генерирует InputEventMouseMotion для немедленного обновления курсора.
| Имя | Тип | По умолчанию |
|---|---|---|
shape | Input.CursorShape | Input.CursorShape.Arrow |
SetDeviceOrientationvoid
public static void SetDeviceOrientation(Quaternion value);Устанавливает кватер ориентации устройства. Может использоваться для отладки устройств без датчика аппаратных средств, например в редакторе на ПК. Примечание: Это значение может быть немедленно перезаписано значением датчика аппаратных средств на Android и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
value | Quaternion | — |
SetEmulateMouseFromTouchvoid
public static void SetEmulateMouseFromTouch(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetEmulateTouchFromMousevoid
public static void SetEmulateTouchFromMouse(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetGravityvoid
public static void SetGravity(Vector3 value);Устанавливает значение силы тяжести (gravity) акселерометрического датчика. Может использоваться для отладки на устройствах без аппаратного датчика, например, в редакторе на ПК. Примечание: Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
value | Vector3 | — |
SetGyroscopevoid
public static void SetGyroscope(Vector3 value);Устанавливает значение скорости вращения датчика гироскопа. Может использоваться для отладки на устройствах без аппаратного датчика, например в редакторе на ПК. Примечание: Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
value | Vector3 | — |
SetIgnoreJoypadOnUnfocusedApplicationvoid
public static void SetIgnoreJoypadOnUnfocusedApplication(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetJoyLightvoid
public static void SetJoyLight(int device, Color color);Устанавливает цвет светодиода джойстика (если он есть). См. также Input.HasJoyLight.
Примечание: Получить цвет подсветки джойстика невозможно. Если вам необходимо знать назначенный цвет, сохраните его отдельно.
Примечание: Эта функция поддерживается только в Windows, Linux, macOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
color | Color | — |
SetJoyMotionSensorsAutoCalibrationEnabledvoid
public static void SetJoyMotionSensorsAutoCalibrationEnabled(int device, bool enable);Включает или отключает автоматическую калибровку гироскопа джойста. Автоматическая калибровка допускается по умолчанию, так что большинство игр не должны называть это или выполнять любую калибровку. В процессе работы калибровка гироскопа постоянно совершенствуется всякий раз, когда обнаруживается, что джойстик удерживается неподвижно, что постепенно смягчает коррекцию. Это устраняет необходимость специальной калибровки в большинстве игр и соответствует калибровочному дрейфу, например от регулятора нагревания во время игры. Если автоматическая калибровка отключена, последние калиброванные значения остаются в силе. Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
enable | bool | — |
SetJoyMotionSensorsCalibrationvoid
public static void SetJoyMotionSensorsCalibration(int device, Reckfell.Collections.Dictionary calibrationInfo);Задает информацию о калибровке указанного джойстика. См. также Input.GetJoyMotionSensorsCalibration.
См. Input.StartJoyMotionSensorsCalibration для примера использования датчиков движения и калибровки джойстика в играх.
Примечание: Эта функция поддерживается только в Windows, Linux, macOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
calibrationInfo | Reckfell.Collections.Dictionary | — |
SetJoyMotionSensorsEnabledvoid
public static void SetJoyMotionSensorsEnabled(int device, bool enable);Просит интерфейс устройства включить или выключить датчики. Не создаёт поддержку у неизвестного ID и не выполняет калибровку автоматически. Не отключайте датчики, которыми продолжает пользоваться другая система.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
enable | bool | — |
deviceТекущий ID контроллера с поддержкой датчиков.
enabletrue для включения, false для выключения. Проверяйте IsJoyMotionSensorsEnabled отдельно.
SetMagnetometervoid
public static void SetMagnetometer(Vector3 value);Устанавливает значение магнитного поля датчика магнитометра. Может использоваться для отладки на устройствах без аппаратного датчика, например в редакторе на ПК. Примечание: Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
value | Vector3 | — |
SetMouseModevoid
public static void SetMouseMode(Input.MouseModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Input.MouseModeEnum | — |
SetUseAccumulatedInputvoid
public static void SetUseAccumulatedInput(bool enable);Устанавливает тот же флаг, что UseAccumulatedInput. Отключение не доставляет уже накопленные события и не гарантирует немедленную доставку при отдельно включённом agile_event_flushing.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enabletrue — объединять совместимые события; false — не объединять новые. Не меняет отдельную настройку agile_event_flushing.
ShouldIgnoreDevicebool
public static bool ShouldIgnoreDevice(int vendorId, int productId);Вопрос о том, следует ли игнорировать устройство ввода данных. SDL_GAMECONTROLLER_IGNORE_DEVICESСм. Документация SDL для дополнительной информации.
Примечание: Некоторые инструменты третьей стороны могут внести свой вклад в список проигнорированных устройств. Например, SteamInput создаёт виртуальные устройства из физических устройств для ремаптации. Чтобы избежать дваждыго обращения с одним и тем же входным устройством, оригинальное устройство добавляется в список проигнорированных устройств.
| Имя | Тип | По умолчанию |
|---|---|---|
vendorId | int | — |
productId | int | — |
boolStartJoyMotionSensorsCalibrationvoid
public static void StartJoyMotionSensorsCalibration(int device);Начинает процесс ручной калибровки гироскопа указанного джойста, если он есть.
После правильной калибровки гироскопа джойста (например, лежащего на столе без поворачивания), Input.GetJoyGyroscope возвратит значения, близкие или равные Vector3.Zero когда радостная пачка не будет свернута.
Поскольку гироскоп калибруется автоматически по умолчанию (см. Input.SetJoyMotionSensorsAutoCalibrationEnabled), большинство игр не нуждаются в калибровке вручную. Если автоматическая калибровка включена, она задерживается, пока ручная калибровка продолжается, и возобновляется, когда Input.StopJoyMotionSensorsCalibration зовутся.
Вот пример того, как использовать гироскоп и гироскоп в ваших играх:
private const float GyroSensitivity = 10.0;
public override void _Ready()
{
// In this example we only use the first connected joypad (id 0).
if (!Input.GetConnectedJoypads().Contains(0))
{
return;
}
if (!Input.HasJoyMotionSensors(0))
{
return;
}
// We must enable the accelerometer and the gyroscope before using them.
Input.SetJoyMotionSensorsEnabled(0, true);
// (Tell the users here that they need to put their joypads on a flat surface and wait for confirmation.)
// Start the calibration process.
CalibrateMotion();
}
public override void _Process(double delta)
{
// Only move the object if the joypad motion sensors are calibrated.
if (Input.IsJoyMotionSensorsCalibrated(0))
{
MoveObject(delta);
}
}
private async Task CalibrateMotion()
{
Input.StartJoyMotionSensorsCalibration(0);
// Wait for some time.
await ToSignal(GetTree().CreateTimer(1.0), EntityTreeTimer.SignalName.Timeout);
Input.StopJoyMotionSensorsCalibration(0);
// The joypad is now calibrated.
}
private void MoveObject(double delta)
{
Entity3D node = ... ; // Put your object here.
Vector3 gyro = Input.GetJoyGyroscope(0);
Vector3 rotation = node.Rotation;
rotation.X -= -gyro.Y * GyroSensitivity * (float)delta; // Use rotation around the Y axis (yaw) here.
rotation.Y += -gyro.X * GyroSensitivity * (float)delta; // Use rotation around the X axis (pitch) here.
node.Rotation = rotation;
}Примечание: Акселерометр обычно не требует калибровки. Примечание: Эта функция поддерживается только в Windows, Linux, macOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
StartJoyVibrationvoid
public static void StartJoyVibration(int device, float weakMagnitude, float strongMagnitude, float duration = 0f);Записывает запрос вибрации для устройства; это не подтверждение движения моторов. Перед вызовом проверяйте подключение, HasJoyVibration и конечность чисел. Для единичного события отправляйте одну команду, а не повторяйте её каждый кадр.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
weakMagnitude | float | — |
strongMagnitude | float | — |
duration | float | 0f |
deviceID выбранного подключённого контроллера.
weakMagnitudeИнтенсивность слабого мотора 0–1. Учебная обвязка дополнительно отклоняет NaN и бесконечность.
strongMagnitudeИнтенсивность сильного мотора 0–1; это отдельный канал, а не длительность.
durationДлительность в секундах. Задавайте положительное конечное значение. Значение 0 по умолчанию не гарантирует бесконечность: текущий SDL-бэкенд преобразует его в 65 535 мс.
StopJoyMotionSensorsCalibrationvoid
public static void StopJoyMotionSensorsCalibration(int device);Останавливает процесс ручной калибровки указанных датчиков движения джойстика.
Смотрите. Input.StartJoyMotionSensorsCalibration для примера о том, как использовать датчики движения и калибровку в ваших играх.
Примечание: Эта функция поддерживается только на Windows, Linux, acOS и iOS.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
StopJoyVibrationvoid
public static void StopJoyVibration(int device);Записывает нулевые интенсивности для остановки вибрации выбранного устройства. Не является подтверждением получения команды оборудованием.
| Имя | Тип | По умолчанию |
|---|---|---|
device | int | — |
deviceID устройства, для которого отправляется остановка.
VibrateHandheld2 перегрузки
public static void VibrateHandheld(int durationMs);Начинает вибрировать портативное устройство на указанную продолжительность в миллисекундах.
amplitude - прочность вибрации в качестве значения между 0.0 и 1.0. В случае установки -1.0, используется сила вибрации устройства по умолчанию.
Примечание: Этот метод применяется на Android, iOS и Web.
Примечание: Для Андроида, Input.VibrateHandheld :: обеспечение возможности VIBRATE В противном случае, Input.VibrateHandheld не даст никакого эффекта.
Примечание: Для iOS указание продолжительности поддерживается только в iOS 13 и позднее.
Примечание: Для Интернета амплитуда не может быть изменена.
Примечание: Некоторые веб-браузеры, такие как Safari и Firefox для Android, не поддерживают Input.VibrateHandheld.
Примечание: Такие параметры устройства, как вибрация включена/выключена, режим "не потревожить" или конкретная хаптимическая обратная связь могут предотвратить Input.VibrateHandheld эффекты.
| Имя | Тип | По умолчанию |
|---|---|---|
durationMs | int | — |
public static void VibrateHandheld(int durationMs = 500, float amplitude = -1f);Начинает вибрировать портативное устройство на указанную продолжительность в миллисекундах.
amplitude - прочность вибрации в качестве значения между 0.0 и 1.0. В случае установки -1.0, используется сила вибрации устройства по умолчанию.
Примечание: Этот метод применяется на Android, iOS и Web.
Примечание: Для Андроида, Input.VibrateHandheld :: обеспечение возможности VIBRATE В противном случае, Input.VibrateHandheld не даст никакого эффекта.
Примечание: Для iOS указание продолжительности поддерживается только в iOS 13 и позднее.
Примечание: Для Интернета амплитуда не может быть изменена.
Примечание: Некоторые веб-браузеры, такие как Safari и Firefox для Android, не поддерживают Input.VibrateHandheld.
Примечание: Такие параметры устройства, как вибрация включена/выключена, режим "не потревожить" или конкретная хаптимическая обратная связь могут предотвратить Input.VibrateHandheld эффекты.
| Имя | Тип | По умолчанию |
|---|---|---|
durationMs | int | 500 |
amplitude | float | -1f |
WarpMousevoid
public static void WarpMouse(Vector2 position);Устанавливает положение мыши к указанному вектору, содержащемуся в пикселях и относительно происхождения в верхнем левом углу текущего фокуса Window Окно для менеджера.
Положение мыши сжимается до пределов разрешения экрана или пределов окна игры, если Input.MouseModeEnum установлен следующим образом: Input.MouseModeEnum.Confined или Input.MouseModeEnum.ConfinedHidden.
Примечание: Input.WarpMouse Она не влияет на Android, iOS и Web.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
Сигналы и события1
JoyConnectionChangedСобытие
public static event Input.JoyConnectionChangedEventHandler JoyConnectionChanged;Издается при подключении или отключении джойстика.
| Имя | Тип | По умолчанию |
|---|---|---|
device | long | — |
connected | bool | — |
Input.CursorShape
| Значение | Описание |
|---|---|
Arrow = 0 | Курсор-стрелка. Стандартный, указывающий курсор по умолчанию. |
Bdiagsize = 11 | Window пересчитать курсор мыши. Этот курсор является двуглавой стрелкой, которая двигается от нижнего левого к верхнему правому. Она говорит пользователю, что они могут изменить размер окна или панели как горизонтально, так и вертикально. |
Busy = 5 | Занятый курсор. Указывает, что приложение занято выполнением операции и что оно все еще может использоваться во время операции. |
CanDrop = 7 | Можно отпустить курсор. Обычно отображается при перетаскивании чего-либо, чтобы указать, что его можно отпустить в текущей позиции. |
Cross = 3 | Перекрестный курсор. Обычно появляется над областями, в которых можно выполнить операцию рисования или для выделения. |
Drag = 6 | Курсор перетаскивания. Обычно отображается при перетаскивании чего-либо.
Примечание: В Windows отсутствует курсор перетаскивания, поэтому |
Fdiagsize = 12 | Window курсор мыши - двуглавая стрелка, которая идет от верхней левой к нижней правой, противоположная стрелке |
Forbidden = 8 | Запрещенный курсор. Указывает, что текущее действие запрещено (например, при перетаскивании чего-либо) или что элемент управления в позиции отключен. |
Help = 16 | Курсор помощи. Обычно вопросительный знак. |
Hsize = 10 | Курсор мыши для изменения размера по горизонтали. Двунаправленная горизонтальная стрелка. Сообщает пользователю, что он может изменять размер окна или панели по горизонтали. |
Hsplit = 15 | Горизонтальный разделенный курсор мыши. В Windows это то же самое, что |
Ibeam = 1 | Курсор в виде I-образной линии. Обычно используется для указания того, где появится текстовый курсор при щелчке мыши. КУРСОР Топоминания |
Move = 13 | Переместить курсор. Указывает, что что-то можно переместить. |
PointingHand = 2 | Курсор в виде указывающей руки. Обычно используется для обозначения того, что указатель находится над ссылкой или другим интерактивным элементом. |
Vsize = 9 | Вертикальное изменение размера курсора мыши. Двунаправленная вертикальная стрелка. Сообщает пользователю, что он может изменять размер окна или панели по вертикали. КУРСОР |
Vsplit = 14 | Вертикальный разделенный курсор мыши. В Windows это то же самое, что |
Wait = 4 | Курсор ожидания. Указывает, что приложение занято выполнением операции и что оно не может быть использовано во время операции (например, что-то блокирует его основной поток). |
Input.MouseModeEnum
| Значение | Описание |
|---|---|
Captured = 2 | Мышь будет спрятана, а ее положение заперто в центре окна менеджера.
Примечание: Если вы хотите обработать движение мыши в этом режиме, вам нужно использовать |
Confined = 3 | Ограничивает курсор мыши окном игры и делает его видимым. |
Max = 5 | Максимальное значение |
Visible = 0 | Делает курсор мыши видимым, если он скрыт. |