Files
godot-docs-l10n/classes/ru/class_inputmap.rst

252 lines
18 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_InputMap:
InputMap
========
**Наследует:** :ref:`Object<class_Object>`
Синглтон, управляющий всеми :ref:`InputEventAction<class_InputEventAction>`-ами.
.. rst-class:: classref-introduction-group
Описание
----------------
Управляет всеми :ref:`InputEventAction<class_InputEventAction>`, которые можно создать/изменить из меню настроек проекта **Проект > Настройки проекта > Карта входных данных** или в коде с помощью :ref:`add_action()<class_InputMap_method_add_action>` и :ref:`action_add_event()<class_InputMap_method_action_add_event>`. См. :ref:`Node._input()<class_Node_private_method__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<class_InputMap_method_action_add_event>`\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`action_erase_event<class_InputMap_method_action_erase_event>`\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`action_erase_events<class_InputMap_method_action_erase_events>`\ (\ action\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`action_get_deadzone<class_InputMap_method_action_get_deadzone>`\ (\ action\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`InputEvent<class_InputEvent>`\] | :ref:`action_get_events<class_InputMap_method_action_get_events>`\ (\ action\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`action_has_event<class_InputMap_method_action_has_event>`\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`action_set_deadzone<class_InputMap_method_action_set_deadzone>`\ (\ action\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_action<class_InputMap_method_add_action>`\ (\ action\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>` = 0.2\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`erase_action<class_InputMap_method_erase_action>`\ (\ action\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`event_is_action<class_InputMap_method_event_is_action>`\ (\ event\: :ref:`InputEvent<class_InputEvent>`, action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_action_description<class_InputMap_method_get_action_description>`\ (\ action\: :ref:`StringName<class_StringName>`\ ) |const| |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] | :ref:`get_actions<class_InputMap_method_get_actions>`\ (\ ) |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_action<class_InputMap_method_has_action>`\ (\ action\: :ref:`StringName<class_StringName>`\ ) |const| |
+------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`load_from_project_settings<class_InputMap_method_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<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) :ref:`🔗<class_InputMap_method_action_add_event>`
Добавляет :ref:`InputEvent<class_InputEvent>` к действию. Это :ref:`InputEvent<class_InputEvent>` вызовет действие.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_action_erase_event:
.. rst-class:: classref-method
|void| **action_erase_event**\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) :ref:`🔗<class_InputMap_method_action_erase_event>`
Удаляет :ref:`InputEvent<class_InputEvent>` из действия.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_action_erase_events:
.. rst-class:: classref-method
|void| **action_erase_events**\ (\ action\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_InputMap_method_action_erase_events>`
Удаляет все события из действия.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_action_get_deadzone:
.. rst-class:: classref-method
:ref:`float<class_float>` **action_get_deadzone**\ (\ action\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_InputMap_method_action_get_deadzone>`
Возвращает значение мертвой зоны для действия.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_action_get_events:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`InputEvent<class_InputEvent>`\] **action_get_events**\ (\ action\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_InputMap_method_action_get_events>`
Возвращает массив :ref:`InputEvent<class_InputEvent>`, связанных с заданным действием.
\ **Примечание:** При использовании в редакторе (например, скрипте инструмента или :ref:`EditorPlugin<class_EditorPlugin>`) этот метод вернет события для действия редактора. Если вы хотите получить доступ к привязкам ввода вашего проекта из редактора, прочитайте настройки ``input/*`` из :ref:`ProjectSettings<class_ProjectSettings>`.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_action_has_event:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **action_has_event**\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) :ref:`🔗<class_InputMap_method_action_has_event>`
Возвращает ``true``, если с действием связан заданный :ref:`InputEvent<class_InputEvent>`.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_action_set_deadzone:
.. rst-class:: classref-method
|void| **action_set_deadzone**\ (\ action\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>`\ ) :ref:`🔗<class_InputMap_method_action_set_deadzone>`
Устанавливает значение мертвой зоны для действия.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_add_action:
.. rst-class:: classref-method
|void| **add_action**\ (\ action\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>` = 0.2\ ) :ref:`🔗<class_InputMap_method_add_action>`
Добавляет пустое действие в **InputMap** с настраиваемым ``deadzone``.
Затем к этому действию можно добавить :ref:`InputEvent<class_InputEvent>` с помощью :ref:`action_add_event()<class_InputMap_method_action_add_event>`.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_erase_action:
.. rst-class:: classref-method
|void| **erase_action**\ (\ action\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_InputMap_method_erase_action>`
Удаляет действие из **InputMap**.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_event_is_action:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **event_is_action**\ (\ event\: :ref:`InputEvent<class_InputEvent>`, action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_InputMap_method_event_is_action>`
Возвращает ``true``, если заданное событие является частью существующего действия. Этот метод игнорирует модификаторы клавиатуры, если заданный :ref:`InputEvent<class_InputEvent>` не нажат (для правильного определения отпускания). См. :ref:`action_has_event()<class_InputMap_method_action_has_event>`, если вам не нужно такое поведение.
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_get_action_description:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_action_description**\ (\ action\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_InputMap_method_get_action_description>`
Возвращает понятное человеку описание указанного действия.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_get_actions:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] **get_actions**\ (\ ) :ref:`🔗<class_InputMap_method_get_actions>`
Возвращает массив всех действий в **InputMap**.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_has_action:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_action**\ (\ action\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_InputMap_method_has_action>`
Возвращает ``true``, если **InputMap** имеет зарегистрированное действие с указанным именем.
.. rst-class:: classref-item-separator
----
.. _class_InputMap_method_load_from_project_settings:
.. rst-class:: classref-method
|void| **load_from_project_settings**\ (\ ) :ref:`🔗<class_InputMap_method_load_from_project_settings>`
Очищает все :ref:`InputEventAction<class_InputEventAction>` в **InputMap** и загружает их заново из :ref:`ProjectSettings<class_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 (Нет возвращаемого значения.)`