【问题标题】:Continuously pressed key连续按键
【发布时间】:2015-10-21 01:51:53
【问题描述】:

我的 SWING 游戏中有以下代码 sn-p:

public void keyPressed(KeyEvent e) {

        if(e.getKeyCode() == KeyEvent.VK_RIGHT)
        {         
             player.setX(player.getX() + speed);
             canvas.repaint();

        }

当我按下右箭头时,代码工作正常(VK_RIGHT), 玩家向右移动,如果我按向左箭头,它向左移动。

问题是当我按住向左或向右箭头时,玩家移动一次,然后停止一段时间,然后开始连续移动按下的方向。

我认为java需要时间来理解按下的按钮是HOLD。知道如何让它立即连续移动吗?

【问题讨论】:

  • 请提供一些重现问题的代码。使用上面的代码,我们无法为您提供正确的答案。
  • 你的意思是当你按下箭头“键”时,因为这个问题被问了很多
  • 看起来像一个类似的问题link。可能第二个答案可以解决您的问题。
  • 这是由您的键盘工作方式引起的——当您按下一个键时,它会导致一个键事件。在按键仍被按住的短时间延迟后,一些(不是全部)键盘将开始发出连续的按键事件流,直到按键被释放。
  • 强调这一点:这与 Java 或 Swing 无关。只需在任何文本编辑器中按住一个键:aaaaaaaaaaaaaaa.... 有时您甚至可以在 BIOS 中设置延迟和速度。无论如何,链接的答案应该有助于解决这个问题。

标签: java swing keylistener


【解决方案1】:

知道如何让它立即连续移动吗?

【讨论】:

    猜你喜欢
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    相关资源
    最近更新 更多