Как я могу приостановить свою многопоточную игру в java, используя метод переключения с клавиатуры? - PullRequest
0 голосов
/ 16 июня 2020

Итак, у меня есть основная игра, в то время как l oop с условием running, поэтому, когда running ложно, игра перестает работать, это распределяется.

Вот метод, когда я нажмите клавишу P на клавиатуре, чтобы приостановить игру, я пробовал несколько вещей, но ничего не работает, моя цель - сделать так, чтобы при нажатии P игра ставится на паузу (что и происходит), после чего я могу снова нажать P , чтобы возобновить паузу.

    boolean pause = false;
    public void keyPressed(KeyEvent e) {
        pause = true;
        int key = e.getKeyCode();
           if (key == KeyEvent.VK_P) {
                 if(pause) {
                 running = false;

                 } else {
                 running = true;
                 pause = false;
                 }
    }

1 Ответ

1 голос
/ 16 июня 2020

Так как в первой строке keyPressed указано pause = true, нажатие P всегда ставит игру на паузу. Попробуйте вместо этого:

boolean pause = false;
public void keyPressed(KeyEvent e) {
    if (e.getKeyCode() == KeyEvent.VK_P) {
        pause = !pause;
        running = !pause;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...