Внутри игрового цикла игра приостанавливается нажатием P, что означает, что игровой цикл больше не запускается. Проблема в том, что после того, как этот цикл остановлен, P не может быть нажата снова, чтобы возобновить цикл, так как он был внутри самого цикла. Как сделать так, чтобы при повторном нажатии P цикл снова работал?
12
checkInput
функции для режима паузы и режима без паузы, потому что могут быть некоторые элементы управления, которые доступны только в одном режиме или другом.checkInput
Функция режим паузы не может сделать ничего более , чем смотреть , еслиP
нажата , а затем установитьgameIsPaused = false
, но некоторые игры также размещать дополнительно функции на экране паузы (в 90 - х годах он был популярен , чтобы иметь экран паузы , как скрытый вход для читов, современный игры любят сочетать его с экраном меню).checkInput
/render
/update
вызовов.Сделайте так, чтобы нажатие кнопки P переключало на другой цикл, который обрабатывает игровое состояние «Приостановлено» и позволяет вернуться к исходному циклу игры, нажав кнопку P еще раз.
На самом деле вы можете поместить все это в сам игровой цикл и ввести переменную состояния, если хотите, и вместо выключения цикла переменная состояния переключается между выполнением соответствующего специфичного для состояния кода в цикле.
источник