Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

InputEvent

Успадковує: Resource < RefCounted < Object

Успадковано від: InputEventAction, InputEventFromWindow, InputEventJoypadButton, InputEventJoypadMotion, InputEventMIDI, InputEventShortcut

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

Опис

Абстрактний базовий клас всіх типів вхідних заходів. Див. Node._input().

Посібники

Властивості

int

device

0

Методи

bool

accumulate(with_event: InputEvent)

String

as_text() const

float

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

bool

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

bool

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

bool

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

bool

is_action_type() const

bool

is_canceled() const

bool

is_echo() const

bool

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

bool

is_pressed() const

bool

is_released() const

InputEvent

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


Константи

DEVICE_ID_EMULATION = -1 🔗

Ідентифікатор пристрою використовується для емуляції введення мишки з сенсорного екрана, або для емульсійного входу з миші. Це може бути використаний для розрізнення емуляції введення мишки від фізичного введення мишки, або емульсійного входу з фізичного дотику.

DEVICE_ID_KEYBOARD = 16 🔗

Device ID used for input from a keyboard. This can be used to distinguish keyboard input events from joypad input events.

DEVICE_ID_MOUSE = 32 🔗

Device ID used for input from a mouse. This can be used to distinguish mouse input events from joypad input events.


Описи властивостей

int device = 0 🔗

  • void set_device(value: int)

  • int get_device()

Ідентифікатор заходу.

Примітка: device може бути негативним для спеціальних випадків використання, які не відносяться до пристроїв, що фізично присутні на системі. Див. DEVICE_ID_EMULATION.


Описи методів

bool accumulate(with_event: InputEvent) 🔗

Повертає true, якщо задану вхідну подію та цю вхідну подію можна додати разом (лише для подій типу InputEventMouseMotion).

Буде скопійовано позицію даної вхідної події, глобальну позицію та швидкість. Отриманий відносний є сумою обох подій. Модифікатори обох подій мають бути ідентичними.


String as_text() const 🔗

Повертаємо участь у презентації заходу.


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

Повертає значення між 0,0 і 1,0 в залежності від стану даної дії. Корисно для отримання значення подій типу InputEventJoypadMotion.

Якщо exact_match є false, він ігнорує додаткові модифікатори введення для InputEventKey і InputEventMouseButton події, і напрямок для InputEventJoypadMotion події.


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

Повертає true, якщо цей вхідний захід відповідає попередньо визначеній дії будь-якого типу.

Якщо exact_match є false, він ігнорує додаткові модифікатори введення для InputEventKey і InputEventMouseButton події, і напрямок для InputEventJoypadMotion події.


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

Повертає true, якщо задана дія відповідає цій події та натискається (і не є подією echo для подій InputEventKey, окрім випадків, коли allow_echo має значення true). Не стосується подій типу InputEventMouseMotion або InputEventScreenDrag.

Якщо exact_match має значення false, він ігнорує додаткові модифікатори введення для подій InputEventKey та InputEventMouseButton, а також напрямок для подій InputEventJoypadMotion.

Примітка: Через фантомне натискання клавіш, is_action_pressed() може повертати false, навіть якщо натиснуто одну з клавіш дії. Див. Приклади введення у документації для отримання додаткової інформації.


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

Повертає true, якщо задана дія відповідає цій події та відпущена (тобто не натиснута). Не стосується подій типу InputEventMouseMotion або InputEventScreenDrag.

Якщо exact_match має значення false, він ігнорує додаткові модифікатори вводу для подій InputEventKey та InputEventMouseButton, а також напрямок для подій InputEventJoypadMotion.


bool is_action_type() const 🔗

Повертає true, якщо тип цього вхідного події є типом, який можна призначити вхідній дії: InputEventKey, InputEventMouseButton, InputEventJoypadButton, InputEventJoypadMotion, InputEventAction. Повертає false для всіх інших типів вхідних подій.


bool is_canceled() const 🔗

Повертаємо true, якщо цей захід було скасовано.


bool is_echo() const 🔗

Повертаємо true, якщо цей вхідний захід є echo подія (тільки для подій типу InputEventKey). Якщо користувач тримає ключ. Будь-який інший тип події повертає false.

Примітка: Ставка, на яку надсилаються події, як правило, близько 20 подій за секунду (після проведення ключа на шорстку половину другого). Тим не менше, затримка ключа / швидкість може бути змінена користувачем або повністю вимкнена в налаштуваннях операційної системи. Щоб переконатися, що ваш проект працює правильно на всіх конфігураціях, не припустимо, користувач має конкретну функцію повторення ключа в поведінці вашого проекту.


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

Повертає true, якщо вказаний event відповідає цій події. Дійсно лише для подій дій, включаючи події клавіші (InputEventKey), кнопки (InputEventMouseButton або InputEventJoypadButton), осі InputEventJoypadMotion та дії (InputEventAction).

Якщо exact_match має значення false, перевірка ігнорує додаткові модифікатори вводу для подій InputEventKey та InputEventMouseButton, а також напрямок для подій InputEventJoypadMotion.

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


bool is_pressed() const 🔗

Повертаємо true, якщо цей вхідний захід натискається. Не актуально для подій типу InputEventMouseMouseMotion або InputEventScreenDrag.

Примітка: У зв'язку з привидами клавіатури, is_pressed() може повернутися false навіть якщо один з ключів дії натискається. Див. Налаштування прикладів в документації для отримання додаткової інформації.


bool is_released() const 🔗

Повертає true, якщо цей вхідний захід вийшов. Не актуально для подій типу InputEventMouseMouseMotion або InputEventScreenDrag.


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

Повертає копію даної події введення, яка була зміщена Local_ofs та перетворена xform. Relevant для подій типу InputEventMouseButton, InputEventMouseMouseMouseMouseMotion, InputEventScreenTouch, InputEventScreenDrag, InputEventMagnifyGesture і InputEventPanGesture.