InputEvent
继承: Resource
< RefCounted
< Object
派生: InputEventAction
, InputEventFromWindow
, InputEventJoypadButton
, InputEventJoypadMotion
, InputEventMIDI
, InputEventShortcut
Abstract base class for input events.
描述
Abstract base class of all types of input events. See Node._input
.
属性
方法
bool | accumulate ( with_event: InputEvent ) |
String | as_text ( ) const1 |
float | get_action_strength ( action: StringName , exact_match: bool = false ) const1 |
bool | is_action ( action: StringName , exact_match: bool = false ) const1 |
bool | is_action_pressed ( action: StringName , allow_echo: bool = false, exact_match: bool = false ) const1 |
bool | is_action_released ( action: StringName , exact_match: bool = false ) const1 |
bool | is_action_type ( ) const1 |
bool | is_canceled ( ) const1 |
bool | is_echo ( ) const1 |
bool | is_match ( event: InputEvent , exact_match: bool = true ) const1 |
bool | is_pressed ( ) const1 |
bool | is_released ( ) const1 |
InputEvent | xformed_by ( xform: Transform2D , local_ofs: Vector2 = Vector2(0, 0) ) const1 |
常量
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.
属性说明
int
device = 0
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
)
Returns true
if the given input event and this input event can be added together (only for events of type InputEventMouseMotion
).
The given input event's position, global position and speed will be copied. The resulting relative
is a sum of both events. Both events' modifiers have to be identical.
Returns a String
representation of the event.
float
get_action_strength ( action: StringName
, exact_match: bool
= false ) const1
Returns a value between 0.0 and 1.0 depending on the given actions' state. Useful for getting the value of events of type InputEventJoypadMotion
.
If exact_match
is false
, it ignores additional input modifiers for InputEventKey
and InputEventMouseButton
events, and the direction for InputEventJoypadMotion
events.
bool
is_action ( action: StringName
, exact_match: bool
= false ) const1
Returns true
if this input event matches a pre-defined action of any type.
If exact_match
is false
, it ignores additional input modifiers for InputEventKey
and InputEventMouseButton
events, and the direction for InputEventJoypadMotion
events.
bool
is_action_pressed ( action: StringName
, allow_echo: bool
= false, exact_match: bool
= false ) const1
Returns true
if the given action 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 ) const1
Returns true
if the given action 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.
bool
is_action_type ( ) const1
Returns true
if this input event's type is one that can be assigned to an input action.
Returns true
if this input event has been canceled.
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 ) const1
Returns true
if the specified event
matches this event. Only valid for action events i.e key (InputEventKey
), button (InputEventMouseButton
or InputEventJoypadButton
), axis InputEventJoypadMotion
or action (InputEventAction
) events.
If exact_match
is false
, it ignores additional input modifiers for InputEventKey
and InputEventMouseButton
events, and the direction for InputEventJoypadMotion
events.
Note: Only considers the event configuration (such as the keyboard key or joypad axis), not state information like is_pressed
, is_released
, is_echo
, or is_canceled
.
Returns true
if this input event is pressed. Not relevant for events of type InputEventMouseMotion
or InputEventScreenDrag
.
Note: Due to keyboard ghosting, is_pressed
may return false
even if one of the action's keys is pressed. See Input examples in the documentation for more information.
Returns true
if this input event is released. Not relevant for events of type InputEventMouseMotion
or InputEventScreenDrag
.
InputEvent
xformed_by ( xform: Transform2D
, local_ofs: Vector2
= Vector2(0, 0) ) const1
Returns a copy of the given input event which has been offset by local_ofs
and transformed by xform
. Relevant for events of type InputEventMouseButton
, InputEventMouseMotion
, InputEventScreenTouch
, InputEventScreenDrag
, InputEventMagnifyGesture
and InputEventPanGesture
.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。