Wewnątrz pętli gra zostaje zatrzymana przez naciśnięcie P, co oznacza, że pętla nie działa. Problem polega na tym, że po zatrzymaniu tej pętli nie można ponownie nacisnąć P, aby wznowić pętlę, ponieważ znajdowała się ona w samej pętli. Jak to zrobić, aby po ponownym naciśnięciu P pętla znów działała?
12
checkInput
funkcję dla trybu wstrzymanego i wstrzymanego, ponieważ mogą istnieć pewne elementy sterujące, które są dostępne tylko w jednym lub drugim trybie.checkInput
Funkcja dla trybu wstrzymania może zrobić nic więcej niż patrząc czyP
jest wciśnięty, a następnie ustawićgameIsPaused = false
, ale niektóre gry umieszczać również dodatkowo funkcjonalność na ekranie pauzy (w latach 90. było to popularne mieć ekran pauzy jako ukryte wejście kody, nowoczesny gry lubią łączyć je z ekranem menu).checkInput
/render
/update
.Zrób tak, aby naciśnięcie P przełączyło się na inną pętlę, która obsługuje stan gry „Wstrzymana” i pozwala na powrót do oryginalnej pętli gry, naciskając ponownie P.
Możesz umieścić to wszystko w samej pętli gry i wprowadzić zmienną stanu, jeśli chcesz i zamiast jej wyłączyć, zmienna stanu przełącza się między wykonywaniem odpowiedniego kodu stanu w pętli.
źródło