我尝试了这个,但它没有用。
按键时我必须运行动画。
case KeyEvent.VK_RIGHT:
while(KeyEvent.KEY_PRESSED){
estado = ANDA0;
posX += 10;
}
estado = PARADO;
break;
答案 0 :(得分:2)
您的while循环将完全压倒GUI事件线程,防止发生任何操作,包括动画操作和键读取事件。相反,我建议你:
while (true)
循环的线程。答案 1 :(得分:-1)
使用KEY_RELEASED
事件这样的事情可以解决问题:
case KeyEvent.VK_RIGHT:
if (KeyEvent.getID() == KeyEvent.KEY_PRESSED)
bool = true;
while(bool){
estado = ANDA0;
posX += 10;
if (KeyEvent.getID() == KeyEvent.KEY_RELEASED)
bool = false;
}
estado = PARADO;
break;