InputEvent

Наследует: Resource < RefCounted < Object

Наследуется от: InputEventAction, InputEventFromWindow, InputEventJoypadButton, InputEventJoypadMotion, InputEventMIDI, InputEventShortcut

Абстрактный базовый класс для событий ввода.

Описание

Абстрактный базовый класс всех типов событий ввода. См. Node._input().

Обучающие материалы

Свойства

int

device

0

Методы

bool

accumulate(with_event: InputEvent)

String

as_text() const

float

get_action_strength(action: StringName, exact_match: bool = false) const

bool

is_action(action: StringName, exact_match: bool = false) const

bool

is_action_pressed(action: StringName, allow_echo: bool = false, exact_match: bool = false) const

bool

is_action_released(action: StringName, exact_match: bool = false) const

bool

is_action_type() const

bool

is_canceled() const

bool

is_echo() const

bool

is_match(event: InputEvent, exact_match: bool = true) const

bool

is_pressed() const

bool

is_released() const

InputEvent

xformed_by(xform: Transform2D, local_ofs: Vector2 = Vector2(0, 0)) const


Константы

DEVICE_ID_EMULATION = -1 🔗

Идентификатор устройства, используемый для эмулированного ввода мыши с сенсорного экрана или для эмулированного сенсорного ввода с мыши. Это может использоваться для различения эмулированного ввода мыши от физического ввода мыши или эмулированного сенсорного ввода от физического сенсорного ввода.


Описания свойств

int device = 0 🔗

  • void set_device(value: int)

  • int get_device()

Идентификатор устройства события.

Примечание: device может быть отрицательным для особых случаев использования, которые не относятся к устройствам, физически присутствующим в системе. См. DEVICE_ID_EMULATION.


Описания метода

bool accumulate(with_event: InputEvent) 🔗

Возвращает true, если данное событие ввода и это событие ввода можно сложить (только для событий типа InputEventMouseMotion).

Будут скопированы позиция данного события ввода, глобальная позиция и скорость. Результирующий relative является суммой обоих событий. Модификаторы обоих событий должны быть идентичными.


String as_text() const 🔗

Возвращает String-представление события.


float get_action_strength(action: StringName, exact_match: bool = false) const 🔗

Возвращает значение от 0,0 до 1,0 в зависимости от состояния заданных действий. Полезно для получения значения событий типа InputEventJoypadMotion.

Если exact_match равен false, он игнорирует дополнительные модификаторы ввода для событий InputEventKey и InputEventMouseButton, а также направление для событий InputEventJoypadMotion.


bool is_action(action: StringName, exact_match: bool = false) const 🔗

Возвращает true, если это событие ввода соответствует предопределенному действию любого типа.

Если exact_match равно false, он игнорирует дополнительные модификаторы ввода для событий InputEventKey и InputEventMouseButton, а также направление для событий InputEventJoypadMotion.


bool is_action_pressed(action: StringName, allow_echo: bool = false, exact_match: bool = false) const 🔗

Возвращает true, если заданное действие соответствует данному событию и нажимается (и не является событием echo для событий InputEventKey, если только allow_echo не равен true). Не применимо для событий типа InputEventMouseMotion или InputEventScreenDrag.

Если exact_match равен false, он игнорирует дополнительные модификаторы ввода для событий InputEventKey и InputEventMouseButton, а также направление для событий InputEventJoypadMotion.

Примечание: Из-за эффекта «фантомного нажатия» клавиатуры is_action_pressed() может возвращать false, даже если нажата одна из клавиш действия. Для получения дополнительной информации см. Примеры ввода в документации.


bool is_action_released(action: StringName, exact_match: bool = false) const 🔗

Возвращает true, если заданное действие соответствует данному событию и отпущено (т.е. не нажато). Не применимо к событиям типа InputEventMouseMotion или InputEventScreenDrag.

Если exact_match равен false, он игнорирует дополнительные модификаторы ввода для событий InputEventKey и InputEventMouseButton, а также направление для событий InputEventJoypadMotion.


bool is_action_type() const 🔗

Возвращает true, если тип этого события ввода можно назначить действию ввода: InputEventKey, InputEventMouseButton, InputEventJoypadButton, InputEventJoypadMotion, InputEventAction. Возвращает false для всех остальных типов событий ввода.


bool is_canceled() const 🔗

Возвращает true, если это событие ввода было отменено.


bool is_echo() const 🔗

Возвращает true, если это событие ввода является событием эха (только для событий типа InputEventKey). Событие эха — это повторяющееся событие клавиши, отправляемое, когда пользователь удерживает клавишу. Любой другой тип события возвращает false.

Примечание: Скорость отправки событий эха обычно составляет около 20 событий в секунду (после удержания клавиши примерно полсекунды). Однако пользователь может изменить задержку/скорость повтора клавиши или полностью отключить ее в настройках операционной системы. Чтобы убедиться, что ваш проект работает правильно во всех конфигурациях, не предполагайте, что у пользователя есть определенная конфигурация повтора клавиши в поведении вашего проекта.


bool is_match(event: InputEvent, exact_match: bool = true) const 🔗

Возвращает true, если указанный параметр event соответствует данному событию. Действительно только для событий действия, включая события клавиши (InputEventKey), кнопки (InputEventMouseButton или InputEventJoypadButton), оси InputEventJoypadMotion и действия (InputEventAction).

Если exact_match равен false, проверка игнорирует дополнительные модификаторы ввода для событий InputEventKey и InputEventMouseButton, а также направление для событий InputEventJoypadMotion.

Примечание: Этот метод учитывает только конфигурацию события (например, клавишу клавиатуры или ось джойстика), а не информацию о состоянии, такую как is_pressed(), is_released(), is_echo() или is_canceled().


bool is_pressed() const 🔗

Возвращает true, если нажато это событие ввода. Неактуально для событий типа InputEventMouseMotion или InputEventScreenDrag.

Примечание: Из-за фантомного нажатия клавиатуры is_pressed() может возвращать false, даже если нажата одна из клавиш действия. Для получения дополнительной информации см. Примеры ввода в документации.


bool is_released() const 🔗

Возвращает true, если это событие ввода отпущено. Не имеет значения для событий типа InputEventMouseMotion или InputEventScreenDrag.


InputEvent xformed_by(xform: Transform2D, local_ofs: Vector2 = Vector2(0, 0)) const 🔗

Возвращает копию указанного события ввода, смещенного на local_ofs и преобразованного на xform. Относится к событиям типа InputEventMouseButton, InputEventMouseMotion, InputEventScreenTouch, InputEventScreenDrag, InputEventMagnifyGesture и InputEventPanGesture.