通常我喜欢在Godot中使用下面的方式来使用按键,但是Godot项目设置中按键映射的可用按键名比较少。
Input.is_action_just_pressed("ui_accept")
使用按键索引值的话Godot项目设置中按键映射的手柄按钮索引值只有127,那使用的新设备超过这个索引的值应该怎么办?
1.首先获取按键的scancode值:
func _input(event):
if event is InputEventKey:
# 检查按键是否被按下
if event.pressed:
# 获取按键的SCANCODE
var scancode = event.scancode
# 打印SCANCODE
print("Pressed key with SCANCODE:", scancode)
2.定一个按键名字,然后添加到InputMap中即可使用
const BUTTON_ACTION = "button_name"
const BUTTON_SCANCODE = 123 # 之前获取的scancode
func _ready():
if not InputMap.has_action(BUTTON_ACTION):
InputMap.add_action(BUTTON_ACTION)
var key_event = InputEventKey.new()
key_event.scancode = BUTTON_SCANCODE
InputMap.action_add_event(BUTTON_ACTION, key_event)
然后就到了我喜欢的使用方式:
Input.is_action_just_pressed("button_name")
完结撒花🎉 奇怪设备的奇怪按键可以用啦