Java:Player不会立即对按键侦听器输入做出反应

时间:2019-07-29 20:36:59

标签: keylistener

我正在编写马里奥兄弟游戏,按D时我的身材必须向右走,而按A时它的身材必须向左走。 但是对于某些人,如果我连续非常快地按下按键,我的马里奥数字需要一秒钟才能对输入做出反应。 因此,如果我按D,然后立即按一个数字,我的图形需要一段时间,直到它反应为止

KeyListener类别:

    if(e.getKeyCode() == KeyEvent.VK_D) {

        Var.mariorunsright = true;
                    Var.mariorunsleft = false;
    }
    if(e.getKeyCode() == KeyEvent.VK_A) {

        Var.mariorrunsleft = true;
                    Var.mariorunsright = false;
    }

PlayerMovement类:

timerrun = new Timer();
timerrun.scheduleAtFixedRate(new TimerTask() {

    public void run() {

        if(Var.xmario < Var.width/2-50) {

            if(Var.mariorunsright == true) {

                Var.xmario += 1;
            }
        }
        if(Var.xmario > 10) {

            if(Var.mariorrunsleft == true) {

                Var.xmario -= 1;
            }
        }
}

}, 0, 5);

0 个答案:

没有答案