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 |
|
get_action_description(action: StringName) const |
|
has_action(action: StringName) const |
|
void |
訊號
project_settings_loaded() 🔗
Emitted when the ProjectSettings InputMap has been loaded.
方法說明
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 事件的方向。
String get_action_description(action: StringName) const 🔗
Returns the human-readable description of the given action.
Array[StringName] get_actions() 🔗
返回 InputMap 中所有動作的陣列。
bool has_action(action: StringName) const 🔗
如果 InputMap 有一個給定名稱的註冊動作,返回 true。
void load_from_project_settings() 🔗
清除 InputMap 中的所有 InputEventAction,並從 ProjectSettings 專案設定中重新載入它。