KeyListener的多键检测(java)
如何实现KeyListener以便我可以创建一个双人系统,其中一个人使用’。’ 和’/’来控制一个角色,而另一个人可以使用箭头键而不会相互打断? 我现在的方式是,当一个人按住箭头键时,他们的角色会移动,但是当你使用其他玩家的控制时,第一个人的角色会停止。
创建一个HashMap
,用于标记当前按下/按下的键。
然后在游戏循环中,您可以根据在此地图中是否按下按键来移动对象。
例如:
if (keyMap.get(VK_COLON) == Boolean.TRUE) //True indicates pressed playerAXPos+= 10;
从您正在收听keyPressed
事件的事物的声音。 基本上,您需要维护有关当前“关闭”键的有状态信息,并且仅在keyReleased
事件发生时停止相应的操作。
这将需要有两个单独的行动作处理程序,一个用于按下键时,一个用于释放键。
您可能需要做的其他事情之一就是维护某些活动密钥的缓存…当我输入时,Ethan刚刚提到了这一点:P