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...
InputMap
继承: Object
管理所有 InputEventAction 的单例。
描述
管理所有的 InputEventAction,可以通过项目设置菜单项目 > 项目设置 > 输入映射或在代码中用 add_action() 和 action_add_event() 创建/修改。请参阅 Node._input()。
教程
方法
void |
action_add_event(action: StringName, event: InputEvent) |
void |
action_erase_event(action: StringName, event: InputEvent) |
void |
action_erase_events(action: StringName) |
action_get_deadzone(action: StringName) |
|
action_get_events(action: StringName) |
|
action_has_event(action: StringName, event: InputEvent) |
|
void |
action_set_deadzone(action: StringName, deadzone: float) |
void |
add_action(action: StringName, deadzone: float = 0.2) |
void |
erase_action(action: StringName) |
event_is_action(event: InputEvent, action: StringName, exact_match: bool = false) const |
|
has_action(action: StringName) const |
|
void |
方法说明
void action_add_event(action: StringName, event: InputEvent) 🔗
给某个动作添加一个 InputEvent。这个 InputEvent 将触发这个动作。
void action_erase_event(action: StringName, event: InputEvent) 🔗
从某个动作中删除一个 InputEvent。
void action_erase_events(action: StringName) 🔗
从某个动作中删除所有事件。
float action_get_deadzone(action: StringName) 🔗
返回该操作的死区值。
Array[InputEvent] action_get_events(action: StringName) 🔗
返回与给定动作关联的 InputEvent 的数组。
注意:在编辑器中使用时(例如在工具脚本或 EditorPlugin 中使用),这个方法返回的是编辑器动作对应的事件。如果你想要在编辑器中访问你的项目的输入绑定,请读取 ProjectSettings 的 input/*
设置。
bool action_has_event(action: StringName, event: InputEvent) 🔗
如果该动作有给定的 InputEvent 与之相关,则返回 true
。
void action_set_deadzone(action: StringName, deadzone: float) 🔗
为该动作设置死区值。
void add_action(action: StringName, deadzone: float = 0.2) 🔗
在 InputMap 上添加空的动作,死区可使用 deadzone
配置。
然后可以用 action_add_event() 给这个动作添加 InputEvent。
void erase_action(action: StringName) 🔗
从 InputMap 中删除一个动作。
bool event_is_action(event: InputEvent, action: StringName, exact_match: bool = false) const 🔗
如果给定的事件是现有动作的一部分,返回 true
。如果给定的 InputEvent 没有被按下,这个方法会忽略键盘(为了正确地检测释放)。如果你不想要这种行为,请参阅 action_has_event()。
如果 exact_match
是 false
,它会忽略 InputEventKey 和 InputEventMouseButton 事件的额外输入修饰键,以及 InputEventJoypadMotion 事件的方向。
Array[StringName] get_actions() 🔗
返回 InputMap 中所有动作的数组。
bool has_action(action: StringName) const 🔗
如果 InputMap 有一个给定名称的注册动作,返回 true
。
void load_from_project_settings() 🔗
清除 InputMap 中的所有 InputEventAction,并从 ProjectSettings 项目设置中重新加载它。