InputMap

Наследует: Object

Синглтон, управляющий всеми InputEventAction-ами.

Описание

Управляет всеми InputEventAction, которые можно создать/изменить из меню настроек проекта Проект > Настройки проекта > Карта входных данных или в коде с помощью add_action() и action_add_event(). См. Node._input().

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

Методы

void

action_add_event(action: StringName, event: InputEvent)

void

action_erase_event(action: StringName, event: InputEvent)

void

action_erase_events(action: StringName)

float

action_get_deadzone(action: StringName)

Array[InputEvent]

action_get_events(action: StringName)

bool

action_has_event(action: StringName, event: InputEvent)

void

action_set_deadzone(action: StringName, deadzone: float)

void

add_action(action: StringName, deadzone: float = 0.2)

void

erase_action(action: StringName)

bool

event_is_action(event: InputEvent, action: StringName, exact_match: bool = false) const

String

get_action_description(action: StringName) const

Array[StringName]

get_actions()

bool

has_action(action: StringName) const

void

load_from_project_settings()


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

void action_add_event(action: StringName, event: InputEvent) 🔗

Добавляет InputEvent к действию. Это InputEvent вызовет действие.


void action_erase_event(action: StringName, event: InputEvent) 🔗

Удаляет InputEvent из действия.


void action_erase_events(action: StringName) 🔗

Удаляет все события из действия.


float action_get_deadzone(action: StringName) 🔗

Возвращает значение мертвой зоны для действия.


Array[InputEvent] action_get_events(action: StringName) 🔗

Возвращает массив InputEvent, связанных с заданным действием.

Примечание: При использовании в редакторе (например, скрипте инструмента или EditorPlugin) этот метод вернет события для действия редактора. Если вы хотите получить доступ к привязкам ввода вашего проекта из редактора, прочитайте настройки input/* из ProjectSettings.


bool action_has_event(action: StringName, event: InputEvent) 🔗

Возвращает true, если с действием связан заданный InputEvent.


void action_set_deadzone(action: StringName, deadzone: float) 🔗

Устанавливает значение мертвой зоны для действия.


void add_action(action: StringName, deadzone: float = 0.2) 🔗

Добавляет пустое действие в InputMap с настраиваемым deadzone.

Затем к этому действию можно добавить InputEvent с помощью action_add_event().


void erase_action(action: StringName) 🔗

Удаляет действие из InputMap.


bool event_is_action(event: InputEvent, action: StringName, exact_match: bool = false) const 🔗

Возвращает true, если заданное событие является частью существующего действия. Этот метод игнорирует модификаторы клавиатуры, если заданный InputEvent не нажат (для правильного определения отпускания). См. action_has_event(), если вам не нужно такое поведение.

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


String get_action_description(action: StringName) const 🔗

Возвращает понятное человеку описание указанного действия.


Array[StringName] get_actions() 🔗

Возвращает массив всех действий в InputMap.


bool has_action(action: StringName) const 🔗

Возвращает true, если InputMap имеет зарегистрированное действие с указанным именем.


void load_from_project_settings() 🔗

Очищает все InputEventAction в InputMap и загружает их заново из ProjectSettings.