【发布时间】:2014-05-31 15:12:59
【问题描述】:
有什么方法可以在重复按键事件时禁用它们?
我正在开发一款游戏,当我按下一个键时,玩家会进入跑步模式并在释放键时返回站立模式。问题是重复keyPressEvent()事件,自动有keyReleaseEvent()事件,让玩家在进入跑步模式后立即回到站立模式,从而重置步(我用于跑步动画)。
我应该怎么做才能取消这个?
【问题讨论】:
-
由于您正在开发游戏,因此您可能有一个游戏循环。如果按键被按下,检查每次迭代是否有效?我不确定 autorelease/press 是否是操作系统功能(我猜)。只需将您的按键按下和释放记录在一个类似集合的容器中(按 -> 添加它,释放 -> 删除它)并检查每个循环迭代是否键在容器中。
标签: c++ qt keyboard-events 2d-games