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.
Checking the stable version of the documentation...
InputEvent
繼承: Resource < RefCounted < Object
被繼承: InputEventAction, InputEventFromWindow, InputEventJoypadButton, InputEventJoypadMotion, InputEventMIDI, InputEventShortcut
輸入事件的抽象基底類別。
說明
各種輸入事件的抽象基底類別。見 Node._input()。
教學
屬性
|
方法
accumulate(with_event: InputEvent) |
|
as_text() const |
|
get_action_strength(action: StringName, exact_match: bool = false) const |
|
is_action(action: StringName, exact_match: bool = false) const |
|
is_action_pressed(action: StringName, allow_echo: bool = false, exact_match: bool = false) const |
|
is_action_released(action: StringName, exact_match: bool = false) const |
|
is_action_type() const |
|
is_canceled() const |
|
is_echo() const |
|
is_match(event: InputEvent, exact_match: bool = true) const |
|
is_pressed() const |
|
is_released() const |
|
xformed_by(xform: Transform2D, local_ofs: Vector2 = Vector2(0, 0)) const |
常數
DEVICE_ID_EMULATION = -1 🔗
Device ID used for emulated mouse input from a touchscreen, or for emulated touch input from a mouse. This can be used to distinguish emulated mouse input from physical mouse input, or emulated touch input from physical touch input.
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.
屬性說明
The event's device ID.
Note: device can be negative for special use cases that don't refer to devices physically present on the system. See DEVICE_ID_EMULATION.
方法說明
bool accumulate(with_event: InputEvent) 🔗
如果給定的輸入事件和這個輸入事件可以相加,則返回 true(只針對 InputEventMouseMotion 型別的事件)。
給定輸入事件的位置、全域位置和速度將被複製。產生的 relative 是兩個事件的總和。兩個事件的修飾符必須是相同的。
返回事件的 String 字串表示。
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 🔗
Returns true if the given action matches this event and is being pressed (and is not an echo event for InputEventKey events, unless allow_echo is true). Not relevant for events of type InputEventMouseMotion or InputEventScreenDrag.
If exact_match is false, it ignores additional input modifiers for InputEventKey and InputEventMouseButton events, and the direction for InputEventJoypadMotion events.
Note: Due to keyboard ghosting, is_action_pressed() may return false even if one of the action's keys is pressed. See Input examples in the documentation for more information.
bool is_action_released(action: StringName, exact_match: bool = false) const 🔗
Returns true if the given action matches this event and is released (i.e. not pressed). Not relevant for events of type InputEventMouseMotion or InputEventScreenDrag.
If exact_match is false, it ignores additional input modifiers for InputEventKey and InputEventMouseButton events, and the direction for InputEventJoypadMotion events.
Returns true if this input event's type is one that can be assigned to an input action: InputEventKey, InputEventMouseButton, InputEventJoypadButton, InputEventJoypadMotion, InputEventAction. Returns false for all other input event types.
如果這個輸入事件已被取消,則返回 true。
Returns true if this input event is an echo event (only for events of type InputEventKey). An echo event is a repeated key event sent when the user is holding down the key. Any other event type returns false.
Note: The rate at which echo events are sent is typically around 20 events per second (after holding down the key for roughly half a second). However, the key repeat delay/speed can be changed by the user or disabled entirely in the operating system settings. To ensure your project works correctly on all configurations, do not assume the user has a specific key repeat configuration in your project's behavior.
bool is_match(event: InputEvent, exact_match: bool = true) const 🔗
Returns true if the specified event matches this event. Only valid for action events, which include key (InputEventKey), button (InputEventMouseButton or InputEventJoypadButton), axis InputEventJoypadMotion, and action (InputEventAction) events.
If exact_match is false, the check ignores additional input modifiers for InputEventKey and InputEventMouseButton events, and the direction for InputEventJoypadMotion events.
Note: This method only considers the event configuration (such as the keyboard key or the joypad axis), not state information like is_pressed(), is_released(), is_echo(), or is_canceled().
如果該輸入事件被按下,則返回 true。與 InputEventMouseMotion 或 InputEventScreenDrag 型別的事件無關。
注意:由於鍵盤重影,即使按下動作的某個鍵,is_pressed() 也有可能會返回 false。有關詳細資訊,請參閱文件中的《輸入範例》。
如果該輸入事件是回顯事件,則返回 true。不適用於型別為 InputEventMouseMotion 和 InputEventScreenDrag 的事件。
InputEvent xformed_by(xform: Transform2D, local_ofs: Vector2 = Vector2(0, 0)) const 🔗
返回給定輸入事件的副本,該副本已被 local_ofs 偏移並被 xform 變換。與 InputEventMouseButton、InputEventMouseMotion、InputEventScreenTouch、InputEventScreenDrag、InputEventMagnifyGesture、和 InputEventPanGesture 型別的事件相關。