InputMap¶
Inherits: Object
管理 InputEventAction 的单例。
描述¶
管理所有的 InputEventAction,可以通过项目设置菜单项目 > 项目设置 > 键位映射或在代码中用 add_action 和 action_add_event 创建/修改。请参阅 Node._input。
教程¶
方法¶
void |
action_add_event ( String action, InputEvent event ) |
void |
action_erase_event ( String action, InputEvent event ) |
void |
action_erase_events ( String action ) |
action_get_deadzone ( String action ) |
|
action_has_event ( String action, InputEvent event ) |
|
void |
action_set_deadzone ( String action, float deadzone ) |
void |
add_action ( String action, float deadzone=0.5 ) |
void |
erase_action ( String action ) |
event_is_action ( InputEvent event, String action, bool exact_match=false ) const |
|
get_action_list ( String action ) |
|
get_actions ( ) |
|
has_action ( String action ) const |
|
void |
方法说明¶
void action_add_event ( String action, InputEvent event )
给一个动作添加一个InputEvent。这个InputEvent将触发这个动作。
void action_erase_event ( String action, InputEvent event )
从一个动作中删除一个InputEvent。
void action_erase_events ( String action )
从动作中删除所有事件。
返回该操作的死区值。
bool action_has_event ( String action, InputEvent event )
如果该动作有给定的InputEvent与之相关,则返回true
。
为该动作设置死区值。
在InputMap
上添加一个空的动作,有一个可配置的死区deadzone
。
然后可以用action_add_event给这个动作添加一个InputEvent。
void erase_action ( String action )
从InputMap
中删除一个动作。
bool event_is_action ( InputEvent event, String action, bool exact_match=false ) const
如果给定的事件是现有动作的一部分,返回true
。如果给定的InputEvent没有被按下,这个方法会忽略键盘(为了正确地检测释放)。如果你不想要这种行为,请参阅action_has_event。
如果exact_match
是false
,它会忽略InputEventKey和InputEventMouseButton事件的输入修饰符,以及InputEventJoypadMotion事件的方向。
返回与给定操作关联的 InputEvent 数组。
Array get_actions ( )
返回InputMap
中所有动作的数组。
如果InputMap
有一个给定名称的注册动作,返回true
。
void load_from_globals ( )
清除InputMap
中的所有InputEventAction,并从ProjectSettings项目设置中重新加载它。