Godot使用不在按键列表中的设备按键方法

       通常我喜欢在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")

   完结撒花🎉 奇怪设备的奇怪按键可以用啦

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值