Приостановить игру и продолжить - PullRequest
0 голосов
/ 29 апреля 2020

Когда я пытаюсь сделать паузу, экран игры только зависает и не делает паузу. Я имею в виду, что я хочу, чтобы игра подождала, а затем продолжала работать, а не чтобы окно не отвечало.

1 Ответ

0 голосов
/ 29 апреля 2020

Поместив Thread.sleep в это место, вы, вероятно, приостановили поток, который перетаскивает aws окно, когда оно меняется, поэтому экран зависает, когда вы это делаете.

Правильный способ приостановить игру должен иметь переменную, которая указывает на приостановленное состояние (что-то вроде boolean paused), и просто не обновлять игровое состояние вообще, когда это логическое значение установлено.

Например, если у вас был код, который сказал

foo.posX += foo.velocityX; // move the foo

затем вы меняете это значение на

if (!paused) {
  foo.posX += foo.velocityX; // move the foo
}

В основанной на событиях системе, такой как Swing UI, вы обычно вообще не хотите полностью останавливать обработку. Вы просто хотите выборочно отключить некоторые действия.

...