gpt4 book ai didi

java - 在java 7中检测按下的键

转载 作者:行者123 更新时间:2023-12-01 21:59:00 25 4
gpt4 key购买 nike

我正在尝试对 ad 键进行按键绑定(bind),以使角色左右移动,但这些操作仅在您按下按键时发生一次。如何修改此代码以使其在按住 ad 时执行事件?

p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_W, 0),"up");
p.getActionMap().put("up", new UpAction());
p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_A, 0), "left");
p.getActionMap().put("left", new LeftAction());
p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_D, 0), "right");
p.getActionMap().put("right", new RightAction());
p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),"quit");
p.getActionMap().put("quit", new StopAction());

最佳答案

监听两个独立的事件,一个是按下按键,另一个是释放按键。

按下该键应设置一个标志,松开该键可清除所述标志。然后你可以检查标志的值,而不是不断地尝试敲击键盘。当您查看多个按键时,您可能希望将当前按下的所有 KeyStrokes 存储在一张 map 中。

关于java - 在java 7中检测按下的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20584539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com