Dentro do loop do jogo, o jogo é interrompido pressionando P, o que significa que o loop do jogo não funciona mais. O problema é que, após a interrupção desse loop, P não pode ser pressionado novamente para retomar o loop, pois estava dentro do próprio loop. Como fazê-lo para que, quando P for pressionado novamente, faça o loop funcionar novamente?
12
checkInput
função diferente para o modo pausado e o modo não pausado, porque pode haver alguns controles que estão disponíveis apenas em um modo ou outro. AcheckInput
função do modo de pausa pode fazer nada além de procurar seP
é pressionada e depois definidagameIsPaused = false
, mas alguns jogos também colocam funcionalidade adicional na tela de pausa (nos anos 90, era popular ter a tela de pausa como entrada oculta para códigos de truques, modernos jogos gostam de combiná-lo com uma tela de menu).checkInput
/render
/update
chamadas.Faça com que pressione P alterne para outro loop que lida com o estado do jogo "Pausado" e permita a transição novamente para o loop original do jogo pressionando P novamente.
Na verdade, você pode colocar tudo isso no loop do jogo e introduzir uma variável de estado. Se desejar, em vez de desativar o loop, a variável de estado alterna entre a execução do respectivo código específico de estado no loop.
fonte