我的 SWING 游戏中有以下代码片段:
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_RIGHT)
{
player.setX(player.getX() + speed);
canvas.repaint();
}
当我按下向右箭头(VK_RIGHT
) 时,代码工作正常,
播放器向右移动,如果我按向左箭头,它会向左移动。
问题是当我按住向左或向右箭头时,播放器移动一次然后停止一段时间,然后开始连续移动按下的方向。
我认为 java 需要时间来理解按下的按钮是 HOLD。知道如何让它立即连续移动吗?
最佳答案
Any idea how I can make it move continuously instantly?
- 通过使用 Swing 计时器调用重绘来为自定义绘制的组件设置动画。
- 向组件添加一个
KeyListener
。 - 开始继续
keyPressed(KeyEvent)
- 停止继续
keyReleased(KeyEvent)
关于java - 连续按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31711354/