-2
boolean gameContinues = true;
gameWindow.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() >= KeyEvent.VK_LEFT && e.getKeyCode() <= KeyEvent.VK_DOWN) {
directionGoing = e.getKeyCode() - KeyEvent.VK_LEFT;
gameStart = true;
}
}
});
while (gameContinues) {
// for(int i = 0; i < 1000000000; i++) {
// for(int j = 0; j < 1000000000; j++) {
//
// }
// }
if (gameStart) {
start();
gameContinues = false;
}
}
private void start() {
// game operations
System.out.println("started");
}
gameStart는 전역 변수이며 초기 값은 false입니다. 일반적으로, 왼쪽, 오른쪽, 위 또는 아래 버튼을 누르면, gameStart 변수가 true로 설정되지만 (gameStart)가 작동하지 않으면 true로 설정됩니다. 그러나 블록에 대해 주석 처리 된 속도로 속도를 줄이면 (gameStart) 제대로 실행됩니다. 왜 이런 일이 일어나는가?블록이 작동하지 않는 이유
보인다. –