在同时按下2个键的同时,播放器在屏幕上停留半秒钟

时间:2015-05-23 12:23:48

标签: java awt keylistener

目前,我正在用java进行二维RPG比赛。 我刚刚完成了KeyAdapter类并将其添加到我的画布中:

public class KeyManager extends KeyAdapter {

    private float speed = 3;

    public void keyPressed(KeyEvent e) {
        int code = e.getKeyCode();
        if (code == KeyEvent.VK_UP) {
            Level.getLevel();
            Levels.setVelY(+speed);
        }
        if (code == KeyEvent.VK_DOWN) {
            Level.getLevel();
            Levels.setVelY(-speed);
        }
        if (code == KeyEvent.VK_LEFT) {
            Level.getLevel();
            Levels.setVelX(+speed);
        }
        if (code == KeyEvent.VK_RIGHT) {
            Level.getLevel();
            Levels.setVelX(-speed);
        }
        if (code == KeyEvent.VK_SHIFT) {
            speed = 5;
        }
    }

    public void keyReleased(KeyEvent e) {
        Level.getLevel();
        Levels.setVelX(0);
        Level.getLevel();
        Levels.setVelY(0);
        speed = 3;
    }

}

事实上一切正常,但如果我同时按下两个键(例如向上和向右箭头键),我的播放器会停止移动(我认为好的翻译是棒)大约半秒钟。有人能解释我为什么会这样,以及如何解决问题。这很烦人。

谢谢!

0 个答案:

没有答案