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 |
方法說明
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 專案設定中重新載入它。