:github_url: hide .. _class_InputMap: InputMap ======== **Наследует:** :ref:`Object` Синглтон, управляющий всеми :ref:`InputEventAction`-ами. .. rst-class:: classref-introduction-group Описание ---------------- Управляет всеми :ref:`InputEventAction`, которые можно создать/изменить из меню настроек проекта **Проект > Настройки проекта > Карта входных данных** или в коде с помощью :ref:`add_action()` и :ref:`action_add_event()`. См. :ref:`Node._input()`. .. rst-class:: classref-introduction-group Обучающие материалы -------------------------------------- - `Использование InputEvent: InputMap <../tutorials/inputs/inputevent.html#inputmap>`__ .. rst-class:: classref-reftable-group Методы ------------ .. table:: :widths: auto +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`action_add_event`\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`action_erase_event`\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`action_erase_events`\ (\ action\: :ref:`StringName`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`action_get_deadzone`\ (\ action\: :ref:`StringName`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`InputEvent`\] | :ref:`action_get_events`\ (\ action\: :ref:`StringName`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`action_has_event`\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`action_set_deadzone`\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_action`\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float` = 0.2\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`erase_action`\ (\ action\: :ref:`StringName`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`event_is_action`\ (\ event\: :ref:`InputEvent`, action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_action_description`\ (\ action\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`StringName`\] | :ref:`get_actions`\ (\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_action`\ (\ action\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`load_from_project_settings`\ (\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания метода ------------------------------ .. _class_InputMap_method_action_add_event: .. rst-class:: classref-method |void| **action_add_event**\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`\ ) :ref:`🔗` Добавляет :ref:`InputEvent` к действию. Это :ref:`InputEvent` вызовет действие. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_action_erase_event: .. rst-class:: classref-method |void| **action_erase_event**\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`\ ) :ref:`🔗` Удаляет :ref:`InputEvent` из действия. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_action_erase_events: .. rst-class:: classref-method |void| **action_erase_events**\ (\ action\: :ref:`StringName`\ ) :ref:`🔗` Удаляет все события из действия. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_action_get_deadzone: .. rst-class:: classref-method :ref:`float` **action_get_deadzone**\ (\ action\: :ref:`StringName`\ ) :ref:`🔗` Возвращает значение мертвой зоны для действия. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_action_get_events: .. rst-class:: classref-method :ref:`Array`\[:ref:`InputEvent`\] **action_get_events**\ (\ action\: :ref:`StringName`\ ) :ref:`🔗` Возвращает массив :ref:`InputEvent`, связанных с заданным действием. \ **Примечание:** При использовании в редакторе (например, скрипте инструмента или :ref:`EditorPlugin`) этот метод вернет события для действия редактора. Если вы хотите получить доступ к привязкам ввода вашего проекта из редактора, прочитайте настройки ``input/*`` из :ref:`ProjectSettings`. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_action_has_event: .. rst-class:: classref-method :ref:`bool` **action_has_event**\ (\ action\: :ref:`StringName`, event\: :ref:`InputEvent`\ ) :ref:`🔗` Возвращает ``true``, если с действием связан заданный :ref:`InputEvent`. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_action_set_deadzone: .. rst-class:: classref-method |void| **action_set_deadzone**\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float`\ ) :ref:`🔗` Устанавливает значение мертвой зоны для действия. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_add_action: .. rst-class:: classref-method |void| **add_action**\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float` = 0.2\ ) :ref:`🔗` Добавляет пустое действие в **InputMap** с настраиваемым ``deadzone``. Затем к этому действию можно добавить :ref:`InputEvent` с помощью :ref:`action_add_event()`. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_erase_action: .. rst-class:: classref-method |void| **erase_action**\ (\ action\: :ref:`StringName`\ ) :ref:`🔗` Удаляет действие из **InputMap**. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_event_is_action: .. rst-class:: classref-method :ref:`bool` **event_is_action**\ (\ event\: :ref:`InputEvent`, action\: :ref:`StringName`, exact_match\: :ref:`bool` = false\ ) |const| :ref:`🔗` Возвращает ``true``, если заданное событие является частью существующего действия. Этот метод игнорирует модификаторы клавиатуры, если заданный :ref:`InputEvent` не нажат (для правильного определения отпускания). См. :ref:`action_has_event()`, если вам не нужно такое поведение. Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey` и :ref:`InputEventMouseButton`, а также направление для событий :ref:`InputEventJoypadMotion`. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_get_action_description: .. rst-class:: classref-method :ref:`String` **get_action_description**\ (\ action\: :ref:`StringName`\ ) |const| :ref:`🔗` Возвращает понятное человеку описание указанного действия. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_get_actions: .. rst-class:: classref-method :ref:`Array`\[:ref:`StringName`\] **get_actions**\ (\ ) :ref:`🔗` Возвращает массив всех действий в **InputMap**. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_has_action: .. rst-class:: classref-method :ref:`bool` **has_action**\ (\ action\: :ref:`StringName`\ ) |const| :ref:`🔗` Возвращает ``true``, если **InputMap** имеет зарегистрированное действие с указанным именем. .. rst-class:: classref-item-separator ---- .. _class_InputMap_method_load_from_project_settings: .. rst-class:: classref-method |void| **load_from_project_settings**\ (\ ) :ref:`🔗` Очищает все :ref:`InputEventAction` в **InputMap** и загружает их заново из :ref:`ProjectSettings`. .. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)` .. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)` .. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)` .. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)` .. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)` .. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)` .. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`