mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
1248 lines
107 KiB
ReStructuredText
1248 lines
107 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_Input:
|
||
|
||
Input
|
||
=====
|
||
|
||
**Наследует:** :ref:`Object<class_Object>`
|
||
|
||
Синглтон для обработки входных данных.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
Синглтон **Input** обрабатывает нажатия клавиш, кнопки мыши и движение, геймпады и действия ввода. Действия и их события можно задать на вкладке **Input Map** в **Project > Project Settings** или с помощью класса :ref:`InputMap<class_InputMap>`.
|
||
|
||
\ **Примечание:** Методы **Input** отражают глобальное состояние ввода и не зависят от :ref:`Control.accept_event()<class_Control_method_accept_event>` или :ref:`Viewport.set_input_as_handled()<class_Viewport_method_set_input_as_handled>`, поскольку эти методы имеют дело только со способом распространения ввода в :ref:`SceneTree<class_SceneTree>`.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Обучающие материалы
|
||
--------------------------------------
|
||
|
||
- :doc:`Указатель документации ввода <../tutorials/inputs/index>`
|
||
|
||
- `2D Dodge The Creeps Демо <https://godotengine.org/asset-library/asset/2712>`__
|
||
|
||
- `Демоверсия 3D вокселей <https://godotengine.org/asset-library/asset/2755>`__
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Свойства
|
||
----------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+----------------------------------------+--------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`emulate_mouse_from_touch<class_Input_property_emulate_mouse_from_touch>` |
|
||
+----------------------------------------+--------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`emulate_touch_from_mouse<class_Input_property_emulate_touch_from_mouse>` |
|
||
+----------------------------------------+--------------------------------------------------------------------------------+
|
||
| :ref:`MouseMode<enum_Input_MouseMode>` | :ref:`mouse_mode<class_Input_property_mouse_mode>` |
|
||
+----------------------------------------+--------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`use_accumulated_input<class_Input_property_use_accumulated_input>` |
|
||
+----------------------------------------+--------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`action_press<class_Input_method_action_press>`\ (\ action\: :ref:`StringName<class_StringName>`, strength\: :ref:`float<class_float>` = 1.0\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`action_release<class_Input_method_action_release>`\ (\ action\: :ref:`StringName<class_StringName>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_joy_mapping<class_Input_method_add_joy_mapping>`\ (\ mapping\: :ref:`String<class_String>`, update_existing\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`flush_buffered_events<class_Input_method_flush_buffered_events>`\ (\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector3<class_Vector3>` | :ref:`get_accelerometer<class_Input_method_get_accelerometer>`\ (\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`get_action_raw_strength<class_Input_method_get_action_raw_strength>`\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`get_action_strength<class_Input_method_get_action_strength>`\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`get_axis<class_Input_method_get_axis>`\ (\ negative_action\: :ref:`StringName<class_StringName>`, positive_action\: :ref:`StringName<class_StringName>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`int<class_int>`\] | :ref:`get_connected_joypads<class_Input_method_get_connected_joypads>`\ (\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`CursorShape<enum_Input_CursorShape>` | :ref:`get_current_cursor_shape<class_Input_method_get_current_cursor_shape>`\ (\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector3<class_Vector3>` | :ref:`get_gravity<class_Input_method_get_gravity>`\ (\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector3<class_Vector3>` | :ref:`get_gyroscope<class_Input_method_get_gyroscope>`\ (\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`get_joy_axis<class_Input_method_get_joy_axis>`\ (\ device\: :ref:`int<class_int>`, axis\: :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`get_joy_guid<class_Input_method_get_joy_guid>`\ (\ device\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Dictionary<class_Dictionary>` | :ref:`get_joy_info<class_Input_method_get_joy_info>`\ (\ device\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`get_joy_name<class_Input_method_get_joy_name>`\ (\ device\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`get_joy_vibration_duration<class_Input_method_get_joy_vibration_duration>`\ (\ device\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`get_joy_vibration_strength<class_Input_method_get_joy_vibration_strength>`\ (\ device\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`get_last_mouse_screen_velocity<class_Input_method_get_last_mouse_screen_velocity>`\ (\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`get_last_mouse_velocity<class_Input_method_get_last_mouse_velocity>`\ (\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector3<class_Vector3>` | :ref:`get_magnetometer<class_Input_method_get_magnetometer>`\ (\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |bitfield|\[:ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>`\] | :ref:`get_mouse_button_mask<class_Input_method_get_mouse_button_mask>`\ (\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`get_vector<class_Input_method_get_vector>`\ (\ negative_x\: :ref:`StringName<class_StringName>`, positive_x\: :ref:`StringName<class_StringName>`, negative_y\: :ref:`StringName<class_StringName>`, positive_y\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>` = -1.0\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`has_joy_light<class_Input_method_has_joy_light>`\ (\ device\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>`\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_action_just_pressed_by_event<class_Input_method_is_action_just_pressed_by_event>`\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_action_just_released<class_Input_method_is_action_just_released>`\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_action_just_released_by_event<class_Input_method_is_action_just_released_by_event>`\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_action_pressed<class_Input_method_is_action_pressed>`\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_anything_pressed<class_Input_method_is_anything_pressed>`\ (\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_joy_button_pressed<class_Input_method_is_joy_button_pressed>`\ (\ device\: :ref:`int<class_int>`, button\: :ref:`JoyButton<enum_@GlobalScope_JoyButton>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_joy_known<class_Input_method_is_joy_known>`\ (\ device\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_key_label_pressed<class_Input_method_is_key_label_pressed>`\ (\ keycode\: :ref:`Key<enum_@GlobalScope_Key>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_key_pressed<class_Input_method_is_key_pressed>`\ (\ keycode\: :ref:`Key<enum_@GlobalScope_Key>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_mouse_button_pressed<class_Input_method_is_mouse_button_pressed>`\ (\ button\: :ref:`MouseButton<enum_@GlobalScope_MouseButton>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>`\ (\ keycode\: :ref:`Key<enum_@GlobalScope_Key>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`parse_input_event<class_Input_method_parse_input_event>`\ (\ event\: :ref:`InputEvent<class_InputEvent>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_joy_mapping<class_Input_method_remove_joy_mapping>`\ (\ guid\: :ref:`String<class_String>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_accelerometer<class_Input_method_set_accelerometer>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_custom_mouse_cursor<class_Input_method_set_custom_mouse_cursor>`\ (\ image\: :ref:`Resource<class_Resource>`, shape\: :ref:`CursorShape<enum_Input_CursorShape>` = 0, hotspot\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_default_cursor_shape<class_Input_method_set_default_cursor_shape>`\ (\ shape\: :ref:`CursorShape<enum_Input_CursorShape>` = 0\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_gravity<class_Input_method_set_gravity>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_gyroscope<class_Input_method_set_gyroscope>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`set_joy_light<class_Input_method_set_joy_light>`\ (\ device\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_magnetometer<class_Input_method_set_magnetometer>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`should_ignore_device<class_Input_method_should_ignore_device>`\ (\ vendor_id\: :ref:`int<class_int>`, product_id\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`start_joy_vibration<class_Input_method_start_joy_vibration>`\ (\ device\: :ref:`int<class_int>`, weak_magnitude\: :ref:`float<class_float>`, strong_magnitude\: :ref:`float<class_float>`, duration\: :ref:`float<class_float>` = 0\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`stop_joy_vibration<class_Input_method_stop_joy_vibration>`\ (\ device\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`vibrate_handheld<class_Input_method_vibrate_handheld>`\ (\ duration_ms\: :ref:`int<class_int>` = 500, amplitude\: :ref:`float<class_float>` = -1.0\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`warp_mouse<class_Input_method_warp_mouse>`\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Сигналы
|
||
--------------
|
||
|
||
.. _class_Input_signal_joy_connection_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**joy_connection_changed**\ (\ device\: :ref:`int<class_int>`, connected\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Input_signal_joy_connection_changed>`
|
||
|
||
Издается при подключении или отключении джойстика.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Перечисления
|
||
------------------------
|
||
|
||
.. _enum_Input_MouseMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **MouseMode**: :ref:`🔗<enum_Input_MouseMode>`
|
||
|
||
.. _class_Input_constant_MOUSE_MODE_VISIBLE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`MouseMode<enum_Input_MouseMode>` **MOUSE_MODE_VISIBLE** = ``0``
|
||
|
||
Делает курсор мыши видимым, если он скрыт.
|
||
|
||
.. _class_Input_constant_MOUSE_MODE_HIDDEN:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`MouseMode<enum_Input_MouseMode>` **MOUSE_MODE_HIDDEN** = ``1``
|
||
|
||
Делает курсор мыши скрытым, если он виден.
|
||
|
||
.. _class_Input_constant_MOUSE_MODE_CAPTURED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`MouseMode<enum_Input_MouseMode>` **MOUSE_MODE_CAPTURED** = ``2``
|
||
|
||
Захватывает мышь. Мышь будет скрыта, а ее положение зафиксировано в центре окна менеджера окон.
|
||
|
||
\ **Примечание:** Если вы хотите обрабатывать движение мыши в этом режиме, вам нужно использовать :ref:`InputEventMouseMotion.relative<class_InputEventMouseMotion_property_relative>`.
|
||
|
||
.. _class_Input_constant_MOUSE_MODE_CONFINED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`MouseMode<enum_Input_MouseMode>` **MOUSE_MODE_CONFINED** = ``3``
|
||
|
||
Ограничивает курсор мыши окном игры и делает его видимым.
|
||
|
||
.. _class_Input_constant_MOUSE_MODE_CONFINED_HIDDEN:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`MouseMode<enum_Input_MouseMode>` **MOUSE_MODE_CONFINED_HIDDEN** = ``4``
|
||
|
||
Ограничивает курсор мыши окном игры и делает его скрытым.
|
||
|
||
.. _class_Input_constant_MOUSE_MODE_MAX:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`MouseMode<enum_Input_MouseMode>` **MOUSE_MODE_MAX** = ``5``
|
||
|
||
Максимальное значение :ref:`MouseMode<enum_Input_MouseMode>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_Input_CursorShape:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **CursorShape**: :ref:`🔗<enum_Input_CursorShape>`
|
||
|
||
.. _class_Input_constant_CURSOR_ARROW:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_ARROW** = ``0``
|
||
|
||
Курсор-стрелка. Стандартный, указывающий курсор по умолчанию.
|
||
|
||
.. _class_Input_constant_CURSOR_IBEAM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_IBEAM** = ``1``
|
||
|
||
Курсор в виде I-образной линии. Обычно используется для указания того, где появится текстовый курсор при щелчке мыши.
|
||
|
||
.. _class_Input_constant_CURSOR_POINTING_HAND:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_POINTING_HAND** = ``2``
|
||
|
||
Курсор в виде указывающей руки. Обычно используется для обозначения того, что указатель находится над ссылкой или другим интерактивным элементом.
|
||
|
||
.. _class_Input_constant_CURSOR_CROSS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_CROSS** = ``3``
|
||
|
||
Перекрестный курсор. Обычно появляется над областями, в которых можно выполнить операцию рисования или для выделения.
|
||
|
||
.. _class_Input_constant_CURSOR_WAIT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_WAIT** = ``4``
|
||
|
||
Курсор ожидания. Указывает, что приложение занято выполнением операции и что оно не может быть использовано во время операции (например, что-то блокирует его основной поток).
|
||
|
||
.. _class_Input_constant_CURSOR_BUSY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_BUSY** = ``5``
|
||
|
||
Занятый курсор. Указывает, что приложение занято выполнением операции и что оно все еще может использоваться во время операции.
|
||
|
||
.. _class_Input_constant_CURSOR_DRAG:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_DRAG** = ``6``
|
||
|
||
Курсор перетаскивания. Обычно отображается при перетаскивании чего-либо.
|
||
|
||
\ **Примечание:** В Windows отсутствует курсор перетаскивания, поэтому :ref:`CURSOR_DRAG<class_Input_constant_CURSOR_DRAG>` совпадает с :ref:`CURSOR_MOVE<class_Input_constant_CURSOR_MOVE>` для этой платформы.
|
||
|
||
.. _class_Input_constant_CURSOR_CAN_DROP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_CAN_DROP** = ``7``
|
||
|
||
Можно отпустить курсор. Обычно отображается при перетаскивании чего-либо, чтобы указать, что его можно отпустить в текущей позиции.
|
||
|
||
.. _class_Input_constant_CURSOR_FORBIDDEN:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_FORBIDDEN** = ``8``
|
||
|
||
Запрещенный курсор. Указывает, что текущее действие запрещено (например, при перетаскивании чего-либо) или что элемент управления в позиции отключен.
|
||
|
||
.. _class_Input_constant_CURSOR_VSIZE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_VSIZE** = ``9``
|
||
|
||
Вертикальное изменение размера курсора мыши. Двунаправленная вертикальная стрелка. Сообщает пользователю, что он может изменять размер окна или панели по вертикали.
|
||
|
||
.. _class_Input_constant_CURSOR_HSIZE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_HSIZE** = ``10``
|
||
|
||
Курсор мыши для изменения размера по горизонтали. Двунаправленная горизонтальная стрелка. Сообщает пользователю, что он может изменять размер окна или панели по горизонтали.
|
||
|
||
.. _class_Input_constant_CURSOR_BDIAGSIZE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_BDIAGSIZE** = ``11``
|
||
|
||
Курсор мыши для изменения размера окна. Курсор представляет собой двунаправленную стрелку, которая идет из нижнего левого угла в верхний правый угол. Он сообщает пользователю, что он может изменять размер окна или панели как по горизонтали, так и по вертикали.
|
||
|
||
.. _class_Input_constant_CURSOR_FDIAGSIZE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_FDIAGSIZE** = ``12``
|
||
|
||
Курсор мыши для изменения размера окна. Курсор — это двунаправленная стрелка, которая идет из верхнего левого угла в нижний правый угол, противоположность :ref:`CURSOR_BDIAGSIZE<class_Input_constant_CURSOR_BDIAGSIZE>`. Он сообщает пользователю, что он может изменять размер окна или панели как по горизонтали, так и по вертикали.
|
||
|
||
.. _class_Input_constant_CURSOR_MOVE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_MOVE** = ``13``
|
||
|
||
Переместить курсор. Указывает, что что-то можно переместить.
|
||
|
||
.. _class_Input_constant_CURSOR_VSPLIT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_VSPLIT** = ``14``
|
||
|
||
Вертикальный разделенный курсор мыши. В Windows это то же самое, что :ref:`CURSOR_VSIZE<class_Input_constant_CURSOR_VSIZE>`.
|
||
|
||
.. _class_Input_constant_CURSOR_HSPLIT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_HSPLIT** = ``15``
|
||
|
||
Горизонтальный разделенный курсор мыши. В Windows это то же самое, что :ref:`CURSOR_HSIZE<class_Input_constant_CURSOR_HSIZE>`.
|
||
|
||
.. _class_Input_constant_CURSOR_HELP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **CURSOR_HELP** = ``16``
|
||
|
||
Курсор помощи. Обычно вопросительный знак.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания свойств
|
||
--------------------------------
|
||
|
||
.. _class_Input_property_emulate_mouse_from_touch:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **emulate_mouse_from_touch** :ref:`🔗<class_Input_property_emulate_mouse_from_touch>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_emulate_mouse_from_touch**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_emulating_mouse_from_touch**\ (\ )
|
||
|
||
Если ``true``, отправляет события ввода мыши при нажатии или пролистывании на сенсорном экране. См. также :ref:`ProjectSettings.input_devices/pointing/emulate_mouse_from_touch<class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_property_emulate_touch_from_mouse:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **emulate_touch_from_mouse** :ref:`🔗<class_Input_property_emulate_touch_from_mouse>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_emulate_touch_from_mouse**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_emulating_touch_from_mouse**\ (\ )
|
||
|
||
Если ``true``, отправляет события сенсорного ввода при щелчке или перетаскивании мыши. См. также :ref:`ProjectSettings.input_devices/pointing/emulate_touch_from_mouse<class_ProjectSettings_property_input_devices/pointing/emulate_touch_from_mouse>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_property_mouse_mode:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`MouseMode<enum_Input_MouseMode>` **mouse_mode** :ref:`🔗<class_Input_property_mouse_mode>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_mouse_mode**\ (\ value\: :ref:`MouseMode<enum_Input_MouseMode>`\ )
|
||
- :ref:`MouseMode<enum_Input_MouseMode>` **get_mouse_mode**\ (\ )
|
||
|
||
Управляет режимом мыши.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_property_use_accumulated_input:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **use_accumulated_input** :ref:`🔗<class_Input_property_use_accumulated_input>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_use_accumulated_input**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_using_accumulated_input**\ (\ )
|
||
|
||
Если ``true``, накапливаются похожие события ввода, отправленные операционной системой. Когда накопление ввода включено, все события ввода, сгенерированные во время кадра, будут объединены и отправлены, когда кадр завершит рендеринг. Таким образом, это ограничивает количество вызовов методов ввода в секунду до FPS рендеринга.
|
||
|
||
Накопление ввода можно отключить, чтобы получить немного более точный/реактивный ввод за счет увеличения загрузки ЦП. В приложениях, где требуется рисовать линии от руки, накопление ввода обычно следует отключать, пока пользователь рисует линию, чтобы получить результаты, которые точно соответствуют фактическому вводу.
|
||
|
||
\ **Примечание:** Накопление ввода *включено* по умолчанию.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_Input_method_action_press:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **action_press**\ (\ action\: :ref:`StringName<class_StringName>`, strength\: :ref:`float<class_float>` = 1.0\ ) :ref:`🔗<class_Input_method_action_press>`
|
||
|
||
Это сымитирует нажатие указанного действия.
|
||
|
||
Силу можно использовать для небулевых действий, она находится в диапазоне от 0 до 1, представляя интенсивность данного действия.
|
||
|
||
\ **Примечание:** Этот метод не вызовет никаких вызовов :ref:`Node._input()<class_Node_private_method__input>`. Он предназначен для использования с :ref:`is_action_pressed()<class_Input_method_is_action_pressed>` и :ref:`is_action_just_pressed()<class_Input_method_is_action_just_pressed>`. Если вы хотите симулировать ``_input``, используйте вместо этого :ref:`parse_input_event()<class_Input_method_parse_input_event>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_action_release:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **action_release**\ (\ action\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Input_method_action_release>`
|
||
|
||
Если указанное действие уже нажато, это отменит его.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_add_joy_mapping:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_joy_mapping**\ (\ mapping\: :ref:`String<class_String>`, update_existing\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_Input_method_add_joy_mapping>`
|
||
|
||
Добавляет новую запись сопоставления (в формате SDL2) в базу данных сопоставления. При желании можно обновить уже подключенные устройства.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_flush_buffered_events:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **flush_buffered_events**\ (\ ) :ref:`🔗<class_Input_method_flush_buffered_events>`
|
||
|
||
Отправляет все события ввода, которые находятся в текущем буфере, в игровой цикл. Эти события могли быть буферизованы в результате накопленного ввода (:ref:`use_accumulated_input<class_Input_property_use_accumulated_input>`) или гибкой очистки ввода (:ref:`ProjectSettings.input_devices/buffering/agile_event_flushing<class_ProjectSettings_property_input_devices/buffering/agile_event_flushing>`).
|
||
|
||
Движок уже сделает это сам в ключевых точках выполнения (по крайней мере один раз за кадр). Однако это может быть полезно в сложных случаях, когда вам нужен точный контроль над временем обработки событий.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_accelerometer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector3<class_Vector3>` **get_accelerometer**\ (\ ) |const| :ref:`🔗<class_Input_method_get_accelerometer>`
|
||
|
||
Возвращает ускорение в м/с² акселерометрического датчика устройства, если он есть. В противном случае метод возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
Обратите внимание, что этот метод возвращает пустой :ref:`Vector3<class_Vector3>` при запуске из редактора, даже если на вашем устройстве есть акселерометр. Вам необходимо экспортировать свой проект на поддерживаемое устройство, чтобы считать значения с акселерометра.
|
||
|
||
\ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
\ **Примечание:** Для Android необходимо включить :ref:`ProjectSettings.input_devices/sensors/enable_accelerometer<class_ProjectSettings_property_input_devices/sensors/enable_accelerometer>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_action_raw_strength:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **get_action_raw_strength**\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Input_method_get_action_raw_strength>`
|
||
|
||
Возвращает значение от 0 до 1, представляющее собой необработанную интенсивность данного действия, игнорируя мертвую зону действия. В большинстве случаев вместо этого следует использовать :ref:`get_action_strength()<class_Input_method_get_action_strength>`.
|
||
|
||
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_action_strength:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **get_action_strength**\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Input_method_get_action_strength>`
|
||
|
||
Возвращает значение от 0 до 1, представляющее интенсивность данного действия. Например, в джойстике, чем дальше ось (аналоговые джойстики или триггеры L2, R2) от мертвой зоны, тем ближе значение будет к 1. Если действие сопоставлено с элементом управления, не имеющим оси, например клавиатурой, возвращаемое значение будет равно 0 или 1.
|
||
|
||
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_axis:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **get_axis**\ (\ negative_action\: :ref:`StringName<class_StringName>`, positive_action\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Input_method_get_axis>`
|
||
|
||
Получите входные данные оси, указав два действия, одно отрицательное и одно положительное.
|
||
|
||
Это сокращение для записи ``Input.get_action_strength("positive_action") - Input.get_action_strength("negative_action")``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_connected_joypads:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`int<class_int>`\] **get_connected_joypads**\ (\ ) :ref:`🔗<class_Input_method_get_connected_joypads>`
|
||
|
||
Возвращает :ref:`Array<class_Array>`, содержащий идентификаторы устройств всех подключенных в данный момент джойстиков.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_current_cursor_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`CursorShape<enum_Input_CursorShape>` **get_current_cursor_shape**\ (\ ) |const| :ref:`🔗<class_Input_method_get_current_cursor_shape>`
|
||
|
||
Возвращает текущую назначенную форму курсора.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_gravity:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector3<class_Vector3>` **get_gravity**\ (\ ) |const| :ref:`🔗<class_Input_method_get_gravity>`
|
||
|
||
Возвращает силу тяжести (gravity) в м/с² акселерометрического датчика устройства, если он есть. В противном случае метод возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
\ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
\ **Примечание:** Для Android необходимо включить :ref:`ProjectSettings.input_devices/sensors/enable_gravity<class_ProjectSettings_property_input_devices/sensors/enable_gravity>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_gyroscope:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector3<class_Vector3>` **get_gyroscope**\ (\ ) |const| :ref:`🔗<class_Input_method_get_gyroscope>`
|
||
|
||
Возвращает скорость вращения в рад/с вокруг осей X, Y и Z устройства датчика гироскопа, если устройство имеет таковой. В противном случае метод возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
\ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
\ **Примечание:** Для Android :ref:`ProjectSettings.input_devices/sensors/enable_gyroscope<class_ProjectSettings_property_input_devices/sensors/enable_gyroscope>` должен быть включен.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_joy_axis:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **get_joy_axis**\ (\ device\: :ref:`int<class_int>`, axis\: :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>`\ ) |const| :ref:`🔗<class_Input_method_get_joy_axis>`
|
||
|
||
Возвращает текущее значение оси джойстика по индексу ``axis``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_joy_guid:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **get_joy_guid**\ (\ device\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Input_method_get_joy_guid>`
|
||
|
||
Возвращает совместимый с SDL2 GUID устройства на платформах, использующих переназначение геймпада, например, ``030000004c050000c405000000010000``. Возвращает пустую строку, если не может быть найдена. Godot использует `базу данных игровых контроллеров SDL2 <https://github.com/gabomdq/SDL_GameControllerDB>`__ для определения имен геймпадов и сопоставлений на основе этого GUID.
|
||
|
||
В Windows все GUID джойстиков XInput будут переопределены Godot на ``__XINPUT_DEVICE__``, поскольку их сопоставления одинаковы.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_joy_info:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Dictionary<class_Dictionary>` **get_joy_info**\ (\ device\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Input_method_get_joy_info>`
|
||
|
||
Возвращает словарь с дополнительной платформенно-специфичной информацией об устройстве, например, исходное имя геймпада из ОС или индекс Steam Input.
|
||
|
||
В Windows, Linux и macOS словарь содержит следующие поля:
|
||
|
||
\ ``raw_name``: Имя контроллера, полученное из ОС до переименования базой данных контроллеров.
|
||
|
||
\ ``vendor_id``: Идентификатор поставщика USB-устройства.
|
||
|
||
\ ``product_id``: Идентификатор продукта USB-устройства.
|
||
|
||
\ ``steam_input_index``: Индекс геймпада Steam Input. Если устройство не является устройством Steam Input, этот ключ отсутствует.
|
||
|
||
В Windows словарь может содержать дополнительное поле:
|
||
|
||
\ ``xinput_index``: Индекс контроллера в системе XInput. Этот ключ отсутствует для устройств, не поддерживаемых XInput.
|
||
|
||
\ **Примечание:** Возвращаемый словарь всегда пуст на Android, iOS, visionOS и Web.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_joy_name:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **get_joy_name**\ (\ device\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Input_method_get_joy_name>`
|
||
|
||
Возвращает имя джойстика по указанному индексу устройства, например, ``PS4 Controller``. Godot использует `Базу данных игровых контроллеров SDL2 <https://github.com/gabomdq/SDL_GameControllerDB>`__ для определения имен геймпадов.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_joy_vibration_duration:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **get_joy_vibration_duration**\ (\ device\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Input_method_get_joy_vibration_duration>`
|
||
|
||
Возвращает длительность текущего эффекта вибрации в секундах.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_joy_vibration_strength:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2<class_Vector2>` **get_joy_vibration_strength**\ (\ device\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Input_method_get_joy_vibration_strength>`
|
||
|
||
Возвращает силу вибрации джойстика: x — сила слабого мотора, y — сила сильного мотора.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_last_mouse_screen_velocity:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2<class_Vector2>` **get_last_mouse_screen_velocity**\ (\ ) :ref:`🔗<class_Input_method_get_last_mouse_screen_velocity>`
|
||
|
||
Возвращает последнюю скорость мыши в координатах экрана. Чтобы обеспечить точную и свободную от дрожания скорость, скорость мыши вычисляется только каждые 0,1 с. Поэтому скорость мыши будет отставать от движений мыши.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_last_mouse_velocity:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2<class_Vector2>` **get_last_mouse_velocity**\ (\ ) :ref:`🔗<class_Input_method_get_last_mouse_velocity>`
|
||
|
||
Возвращает последнюю скорость мыши. Чтобы обеспечить точную и свободную от дрожания скорость, скорость мыши вычисляется только каждые 0,1 с. Поэтому скорость мыши будет отставать от движений мыши.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_magnetometer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector3<class_Vector3>` **get_magnetometer**\ (\ ) |const| :ref:`🔗<class_Input_method_get_magnetometer>`
|
||
|
||
Возвращает напряженность магнитного поля в микротеслах для всех осей датчика магнитометра устройства, если он есть. В противном случае метод возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
\ **Примечание:** Этот метод работает только на Android и iOS. На других платформах он всегда возвращает :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
||
|
||
\ **Примечание:** Для Android необходимо включить :ref:`ProjectSettings.input_devices/sensors/enable_magnetometer<class_ProjectSettings_property_input_devices/sensors/enable_magnetometer>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_mouse_button_mask:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|bitfield|\[:ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>`\] **get_mouse_button_mask**\ (\ ) |const| :ref:`🔗<class_Input_method_get_mouse_button_mask>`
|
||
|
||
Возвращает кнопки мыши как битовую маску. Если одновременно нажато несколько кнопок мыши, биты суммируются. Эквивалентно :ref:`DisplayServer.mouse_get_button_state()<class_DisplayServer_method_mouse_get_button_state>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_get_vector:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2<class_Vector2>` **get_vector**\ (\ negative_x\: :ref:`StringName<class_StringName>`, positive_x\: :ref:`StringName<class_StringName>`, negative_y\: :ref:`StringName<class_StringName>`, positive_y\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>` = -1.0\ ) |const| :ref:`🔗<class_Input_method_get_vector>`
|
||
|
||
Получает входной вектор, указывая четыре действия для положительных и отрицательных осей X и Y.
|
||
|
||
Этот метод полезен при получении векторного ввода, например, с джойстика, навигационной панели, стрелок или WASD. Длина вектора ограничена 1, и он имеет круговую мертвую зону, что полезно для использования векторного ввода в качестве движения.
|
||
|
||
По умолчанию мертвая зона автоматически рассчитывается из среднего значения мертвых зон действий. Однако вы можете переопределить мертвую зону, чтобы она была любой, которую вы хотите (в диапазоне от 0 до 1).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_has_joy_light:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **has_joy_light**\ (\ device\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Input_method_has_joy_light>`
|
||
|
||
Returns ``true`` if the joypad has an LED light that can change colors and/or brightness. See also :ref:`set_joy_light()<class_Input_method_set_joy_light>`.
|
||
|
||
\ **Note:** This feature is only supported on Windows, Linux, and macOS.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_action_just_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_action_just_pressed**\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Input_method_is_action_just_pressed>`
|
||
|
||
Возвращает ``true``, когда пользователь *начал* нажатие кнопки действия в текущем кадре или тике физики. Возвращает ``true`` только в том кадре или тике, когда пользователь нажал кнопку.
|
||
|
||
Это полезно для кода, который должен выполняться только один раз при нажатии кнопки действия, а не каждый кадр, пока она нажата.
|
||
|
||
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
|
||
|
||
\ **Примечание:** Возврат ``true`` не означает, что действие *всё ещё* нажато. Действие можно быстро нажать и отпустить, и ``true`` всё равно будет возвращён, чтобы не пропустить ввод.
|
||
|
||
\ **Примечание:** Из-за эффекта фантомного нажатия клавиатуры, :ref:`is_action_just_pressed()<class_Input_method_is_action_just_pressed>` может возвращать ``false``, даже если нажата одна из клавиш действия. Подробнее см. в разделе `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации.
|
||
|
||
\ **Примечание:** При обработке ввода (например, :ref:`Node._input()<class_Node_private_method__input>`) используйте :ref:`InputEvent.is_action_pressed()<class_InputEvent_method_is_action_pressed>` для запроса состояния действия текущего события. См. также :ref:`is_action_just_pressed_by_event()<class_Input_method_is_action_just_pressed_by_event>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_action_just_pressed_by_event:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_action_just_pressed_by_event**\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Input_method_is_action_just_pressed_by_event>`
|
||
|
||
Возвращает ``true``, когда пользователь *начал* нажатие кнопки действия в текущем кадре или такте физики, и первым событием, вызвавшим нажатие кнопки действия в текущем кадре/такте физики, было ``event``. Возвращает ``true`` только в том кадре или такте, когда пользователь нажал кнопку.
|
||
|
||
Это полезно для кода, который должен выполняться только один раз при нажатии кнопки действия, и действие обрабатывается во время обработки ввода (например, :ref:`Node._input()<class_Node_private_method__input>`).
|
||
|
||
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
|
||
|
||
\ **Примечание:** Возврат ``true`` не означает, что действие *всё ещё* нажато. Действие можно быстро нажать и отпустить, и при этом ``true`` всё равно будет возвращён, чтобы не пропустить ввод.
|
||
|
||
\ **Примечание:** Из-за эффекта фантомного нажатия клавиатуры :ref:`is_action_just_pressed()<class_Input_method_is_action_just_pressed>` может возвращать ``false``, даже если нажата одна из клавиш действия. Подробнее см. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_action_just_released:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_action_just_released**\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Input_method_is_action_just_released>`
|
||
|
||
Возвращает ``true``, когда пользователь *прекращает* нажатие на событие действия в текущем кадре или такте физики. Возвращает ``true`` только в том кадре или такте, когда пользователь отпускает кнопку.
|
||
|
||
\ **Примечание:** Возвращение ``true`` не означает, что действие *ещё* не нажато. Действие можно быстро отпустить и снова нажать, и ``true`` всё равно будет возвращено, чтобы не пропустить ввод.
|
||
|
||
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
|
||
|
||
\ **Примечание:** Во время обработки входных данных (например, :ref:`Node._input()<class_Node_private_method__input>`) используйте :ref:`InputEvent.is_action_released()<class_InputEvent_method_is_action_released>` для запроса состояния действия текущего события. См. также :ref:`is_action_just_released_by_event()<class_Input_method_is_action_just_released_by_event>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_action_just_released_by_event:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_action_just_released_by_event**\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Input_method_is_action_just_released_by_event>`
|
||
|
||
Возвращает ``true``, когда пользователь *прекращает* нажатие кнопки действия в текущем кадре или такте физики, и первым событием, вызвавшим отпускание кнопки в текущем кадре/такте физики, было ``event``. Возвращает ``true`` только в том кадре или такте, когда пользователь отпускает кнопку.
|
||
|
||
Это полезно, когда действие обрабатывается во время обработки ввода (например, :ref:`Node._input()<class_Node_private_method__input>`).
|
||
|
||
\ **Примечание:** Возврат ``true`` не означает, что действие *ещё* не нажато. Действие можно быстро отпустить и снова нажать, и ``true`` всё равно будет возвращён, чтобы не пропустить ввод.
|
||
|
||
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_action_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_action_pressed**\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Input_method_is_action_pressed>`
|
||
|
||
Возвращает ``true``, если вы нажимаете событие действия.
|
||
|
||
Если ``exact_match`` равен ``false``, он игнорирует дополнительные модификаторы ввода для событий :ref:`InputEventKey<class_InputEventKey>` и :ref:`InputEventMouseButton<class_InputEventMouseButton>`, а также направление для событий :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`.
|
||
|
||
\ **Примечание:** Из-за эффекта фантомного нажатия клавиатуры :ref:`is_action_pressed()<class_Input_method_is_action_pressed>` может возвращать ``false``, даже если нажата одна из клавиш действия. Для получения дополнительной информации см. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_anything_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_anything_pressed**\ (\ ) |const| :ref:`🔗<class_Input_method_is_anything_pressed>`
|
||
|
||
Возвращает ``true``, если нажато какое-либо действие, клавиша, кнопка джойстика или кнопка мыши. Это также вернет ``true``, если какое-либо действие имитируется через код путем вызова :ref:`action_press()<class_Input_method_action_press>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_joy_button_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_joy_button_pressed**\ (\ device\: :ref:`int<class_int>`, button\: :ref:`JoyButton<enum_@GlobalScope_JoyButton>`\ ) |const| :ref:`🔗<class_Input_method_is_joy_button_pressed>`
|
||
|
||
Возвращает ``true``, если вы нажимаете кнопку джойстика с индексом ``button``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_joy_known:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_joy_known**\ (\ device\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Input_method_is_joy_known>`
|
||
|
||
Возвращает ``true``, если система знает указанное устройство. Это означает, что она устанавливает все индексы кнопок и осей. Неизвестные джойстики не должны соответствовать этим константам, но вы все равно можете извлекать из них события.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_key_label_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_key_label_pressed**\ (\ keycode\: :ref:`Key<enum_@GlobalScope_Key>`\ ) |const| :ref:`🔗<class_Input_method_is_key_label_pressed>`
|
||
|
||
Возвращает ``true``, если вы нажимаете клавишу с напечатанным на ней ``keycode``. Вы можете передать константу :ref:`Key<enum_@GlobalScope_Key>` или любой код символа Unicode.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_key_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_key_pressed**\ (\ keycode\: :ref:`Key<enum_@GlobalScope_Key>`\ ) |const| :ref:`🔗<class_Input_method_is_key_pressed>`
|
||
|
||
Возвращает ``true``, если вы нажимаете латинскую клавишу в текущей раскладке клавиатуры. Вы можете передать константу :ref:`Key<enum_@GlobalScope_Key>`.
|
||
|
||
\ :ref:`is_key_pressed()<class_Input_method_is_key_pressed>` рекомендуется только вместо :ref:`is_physical_key_pressed()<class_Input_method_is_physical_key_pressed>` в неигровых приложениях. Это гарантирует, что сочетания клавиш ведут себя ожидаемым образом в зависимости от раскладки клавиатуры пользователя, поскольку сочетания клавиш, как правило, зависят от раскладки клавиатуры в неигровых приложениях. Если есть сомнения, используйте :ref:`is_physical_key_pressed()<class_Input_method_is_physical_key_pressed>`.
|
||
|
||
\ **Примечание:** Из-за эффекта фантомных нажатий клавиатуры :ref:`is_key_pressed()<class_Input_method_is_key_pressed>` может возвращать ``false``, даже если нажата одна из клавиш действия. См. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации для получения дополнительной информации.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_mouse_button_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_mouse_button_pressed**\ (\ button\: :ref:`MouseButton<enum_@GlobalScope_MouseButton>`\ ) |const| :ref:`🔗<class_Input_method_is_mouse_button_pressed>`
|
||
|
||
Возвращает ``true``, если вы нажимаете кнопку мыши, указанную с помощью :ref:`MouseButton<enum_@GlobalScope_MouseButton>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_is_physical_key_pressed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_physical_key_pressed**\ (\ keycode\: :ref:`Key<enum_@GlobalScope_Key>`\ ) |const| :ref:`🔗<class_Input_method_is_physical_key_pressed>`
|
||
|
||
Возвращает ``true``, если вы нажимаете клавишу в физическом месте на 101/102-клавишной клавиатуре US QWERTY. Вы можете передать константу :ref:`Key<enum_@GlobalScope_Key>`.
|
||
|
||
\ :ref:`is_physical_key_pressed()<class_Input_method_is_physical_key_pressed>` рекомендуется вместо :ref:`is_key_pressed()<class_Input_method_is_key_pressed>` для действий в игре, так как он заставит раскладки :kbd:`W`/:kbd:`A`/:kbd:`S`/:kbd:`D` работать независимо от раскладки клавиатуры пользователя. :ref:`is_physical_key_pressed()<class_Input_method_is_physical_key_pressed>` также гарантирует, что клавиши с цифрами верхнего ряда будут работать на любой раскладке клавиатуры. Если вы сомневаетесь, используйте :ref:`is_physical_key_pressed()<class_Input_method_is_physical_key_pressed>`.
|
||
|
||
\ **Примечание:** Из-за фантомного нажатия клавиатуры :ref:`is_physical_key_pressed()<class_Input_method_is_physical_key_pressed>` может возвращать ``false``, даже если нажата одна из клавиш действия. Для получения дополнительной информации см. `Примеры ввода <../tutorials/inputs/input_examples.html#keyboard-events>`__ в документации.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_parse_input_event:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **parse_input_event**\ (\ event\: :ref:`InputEvent<class_InputEvent>`\ ) :ref:`🔗<class_Input_method_parse_input_event>`
|
||
|
||
Подает :ref:`InputEvent<class_InputEvent>` в игру. Может использоваться для искусственного запуска событий ввода из кода. Также генерирует вызовы :ref:`Node._input()<class_Node_private_method__input>`.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
var cancel_event = InputEventAction.new()
|
||
cancel_event.action = "ui_cancel"
|
||
cancel_event.pressed = true
|
||
Input.parse_input_event(cancel_event)
|
||
|
||
.. code-tab:: csharp
|
||
|
||
var cancelEvent = new InputEventAction();
|
||
cancelEvent.Action = "ui_cancel";
|
||
cancelEvent.Pressed = true;
|
||
Input.ParseInputEvent(cancelEvent);
|
||
|
||
|
||
|
||
\ **Примечание:** Вызов этой функции не влияет на операционную систему. Так, например, отправка :ref:`InputEventMouseMotion<class_InputEventMouseMotion>` не переместит курсор мыши ОС в указанную позицию (используйте вместо этого :ref:`warp_mouse()<class_Input_method_warp_mouse>`), а отправка :kbd:`Alt/Cmd + Tab` в качестве :ref:`InputEventKey<class_InputEventKey>` не будет переключать между активными окнами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_remove_joy_mapping:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_joy_mapping**\ (\ guid\: :ref:`String<class_String>`\ ) :ref:`🔗<class_Input_method_remove_joy_mapping>`
|
||
|
||
Удаляет все сопоставления из внутренней базы данных, которые соответствуют данному GUID. Все подключенные в данный момент джойпады, которые используют этот GUID, станут не сопоставленными.
|
||
|
||
На Android Godot будет сопоставлен с внутренним резервным сопоставлением.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_set_accelerometer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_accelerometer**\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Input_method_set_accelerometer>`
|
||
|
||
Устанавливает значение ускорения акселерометрического датчика. Может использоваться для отладки на устройствах без аппаратного датчика, например, в редакторе на ПК.
|
||
|
||
\ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_set_custom_mouse_cursor:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_custom_mouse_cursor**\ (\ image\: :ref:`Resource<class_Resource>`, shape\: :ref:`CursorShape<enum_Input_CursorShape>` = 0, hotspot\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_Input_method_set_custom_mouse_cursor>`
|
||
|
||
Устанавливает пользовательское изображение курсора мыши, которое отображается только внутри игрового окна для заданной мыши ``shape``. Также можно указать горячую точку. Передача ``null`` в параметр image сбрасывает его до системного курсора.
|
||
|
||
\ ``image`` может быть либо :ref:`Texture2D<class_Texture2D>`, либо :ref:`Image<class_Image>`, а его размер должен быть меньше или равен 256×256. Чтобы избежать проблем с рендерингом, рекомендуются размеры меньше или равны 128×128.
|
||
|
||
\ ``hotspot`` должен быть в пределах размера ``image``.
|
||
|
||
\ **Примечание:** :ref:`AnimatedTexture<class_AnimatedTexture>` не поддерживаются в качестве пользовательских курсоров мыши. При использовании :ref:`AnimatedTexture<class_AnimatedTexture>` будет отображаться только первый кадр.
|
||
|
||
\ **Примечание:** Рекомендуются режимы сжатия **Lossless**, **Lossy** или **Uncompressed**. Режим сжатия **Video RAM** может использоваться, но он будет распакован на ЦП, что означает замедление времени загрузки и отсутствие экономии памяти по сравнению с режимами без потерь.
|
||
|
||
\ **Примечание:** На веб-платформе максимально допустимый размер изображения курсора составляет 128×128. Изображения курсора размером более 32×32 также будут отображаться только в том случае, если изображение курсора мыши полностью расположено на странице по `соображениям безопасности <https://chromestatus.com/feature/5825971391299584>`__.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_set_default_cursor_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_default_cursor_shape**\ (\ shape\: :ref:`CursorShape<enum_Input_CursorShape>` = 0\ ) :ref:`🔗<class_Input_method_set_default_cursor_shape>`
|
||
|
||
Устанавливает форму курсора по умолчанию для использования в области просмотра вместо :ref:`CURSOR_ARROW<class_Input_constant_CURSOR_ARROW>`.
|
||
|
||
\ **Примечание:** Если вы хотите изменить форму курсора по умолчанию для узлов :ref:`Control<class_Control>`, используйте вместо этого :ref:`Control.mouse_default_cursor_shape<class_Control_property_mouse_default_cursor_shape>`.
|
||
|
||
\ **Примечание:** Этот метод генерирует :ref:`InputEventMouseMotion<class_InputEventMouseMotion>` для немедленного обновления курсора.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_set_gravity:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_gravity**\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Input_method_set_gravity>`
|
||
|
||
Устанавливает значение силы тяжести (gravity) акселерометрического датчика. Может использоваться для отладки на устройствах без аппаратного датчика, например, в редакторе на ПК.
|
||
|
||
\ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_set_gyroscope:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_gyroscope**\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Input_method_set_gyroscope>`
|
||
|
||
Устанавливает значение скорости вращения датчика гироскопа. Может использоваться для отладки на устройствах без аппаратного датчика, например в редакторе на ПК.
|
||
|
||
\ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_set_joy_light:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **set_joy_light**\ (\ device\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_Input_method_set_joy_light>`
|
||
|
||
Sets the joypad's LED light, if available, to the specified color. Returns ``true`` if the operation was successful. See also :ref:`has_joy_light()<class_Input_method_has_joy_light>`.
|
||
|
||
\ **Note:** There is no way to get the color of the light from a joypad. If you need to know the assigned color, store it separately.
|
||
|
||
\ **Note:** This feature is only supported on Windows, Linux, and macOS.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_set_magnetometer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_magnetometer**\ (\ value\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Input_method_set_magnetometer>`
|
||
|
||
Устанавливает значение магнитного поля датчика магнитометра. Может использоваться для отладки на устройствах без аппаратного датчика, например в редакторе на ПК.
|
||
|
||
\ **Примечание:** Это значение может быть немедленно перезаписано значением аппаратного датчика на Android и iOS.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_should_ignore_device:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **should_ignore_device**\ (\ vendor_id\: :ref:`int<class_int>`, product_id\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Input_method_should_ignore_device>`
|
||
|
||
Запрашивает, следует ли игнорировать устройство ввода или нет. Устройства можно игнорировать, установив переменную среды ``SDL_GAMECONTROLLER_IGNORE_DEVICES``. Прочтите `документацию SDL <https://wiki.libsdl.org/SDL2>`__ для получения дополнительной информации.
|
||
|
||
\ **Примечание:** Некоторые сторонние инструменты могут вносить свой вклад в список игнорируемых устройств. Например, *SteamInput* создает виртуальные устройства из физических устройств для целей переназначения. Чтобы избежать обработки одного и того же устройства ввода дважды, исходное устройство добавляется в список игнорируемых.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_start_joy_vibration:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **start_joy_vibration**\ (\ device\: :ref:`int<class_int>`, weak_magnitude\: :ref:`float<class_float>`, strong_magnitude\: :ref:`float<class_float>`, duration\: :ref:`float<class_float>` = 0\ ) :ref:`🔗<class_Input_method_start_joy_vibration>`
|
||
|
||
Начинает вибрировать джойпад. Джойпады обычно поставляются с двумя вибрирующими моторами, сильным и слабым. ``weak_magnitude`` — это сила слабого мотора (от 0 до 1), а ``strong_magnitude`` — это сила сильного мотора (от 0 до 1). ``duration`` — это длительность эффекта в секундах (длительность 0 будет пытаться воспроизводить вибрацию бесконечно). Вибрацию можно остановить заранее, вызвав :ref:`stop_joy_vibration()<class_Input_method_stop_joy_vibration>`.
|
||
|
||
\ **Примечание:** Не все устройства совместимо с длительными эффектами; рекомендуется перезапустить эффект, если его нужно воспроизводить более нескольких секунд.
|
||
|
||
\ **Примечание:** Для macOS вибрация поддерживается только в macOS 11 и более поздних версиях.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_stop_joy_vibration:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **stop_joy_vibration**\ (\ device\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Input_method_stop_joy_vibration>`
|
||
|
||
Останавливает вибрацию джойстика, запущенную с помощью :ref:`start_joy_vibration()<class_Input_method_start_joy_vibration>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_vibrate_handheld:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **vibrate_handheld**\ (\ duration_ms\: :ref:`int<class_int>` = 500, amplitude\: :ref:`float<class_float>` = -1.0\ ) :ref:`🔗<class_Input_method_vibrate_handheld>`
|
||
|
||
Вибрировать портативное устройство в течение указанной продолжительности в миллисекундах.
|
||
|
||
\ ``Amplitude`` — это сила вибрации, как значение между ``0.0`` и ``1.0``. Если установлено значение ``-1.0``, используется сила вибрации устройства по умолчанию.
|
||
|
||
\ **Примечание:** Этот метод реализован на Android, iOS и Web. Он не влияет на другие платформы.
|
||
|
||
\ **Примечание:** Для Android :ref:`vibrate_handheld()<class_Input_method_vibrate_handheld>` требует включения разрешения ``VIBRATE`` в предустановке экспорта. В противном случае :ref:`vibrate_handheld()<class_Input_method_vibrate_handheld>` не будет иметь никакого эффекта.
|
||
|
||
\ **Примечание:** Для iOS указание продолжительности поддерживается только в iOS 13 и более поздних версиях.
|
||
|
||
\ **Примечание:** Для Web амплитуду изменить нельзя.
|
||
|
||
\ **Примечание:** Некоторые веб-браузеры, такие как Safari и Firefox для Android, не поддерживают :ref:`vibrate_handheld()<class_Input_method_vibrate_handheld>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Input_method_warp_mouse:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **warp_mouse**\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_Input_method_warp_mouse>`
|
||
|
||
Устанавливает положение мыши на указанный вектор, указанный в пикселях и относительно начала координат в верхнем левом углу текущего окна игры диспетчера окон.
|
||
|
||
Положение мыши обрезается до границ разрешения экрана или до границ окна игры, если :ref:`MouseMode<enum_Input_MouseMode>` установлен на :ref:`MOUSE_MODE_CONFINED<class_Input_constant_MOUSE_MODE_CONFINED>` или :ref:`MOUSE_MODE_CONFINED_HIDDEN<class_Input_constant_MOUSE_MODE_CONFINED_HIDDEN>`.
|
||
|
||
\ **Примечание:** :ref:`warp_mouse()<class_Input_method_warp_mouse>` поддерживается только в Windows, macOS и Linux. Он не действует на Android, iOS и Web.
|
||
|
||
.. |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 (Нет возвращаемого значения.)`
|