我正在编写马里奥兄弟游戏,按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);