Jak działa pętla gry: wejście, aktualizacja i renderowanie
Podstawowym modelem pętli gry w tej książce są trzy powtarzalne fazy: proces wprowadzania, stan aktualizacji, rysowanie klatki.
W sekcji 20.2 już napisałeś pętlę gry — ale teraz, znając kontekst całego rozdziału, powinieneś Nazywaj jego części dokładnymi nazwami. W naszych Pygame- gier używamy podstawowego modelu: dowolnych Cykl w tej książce, od najprostszej piłki do końcowego projektu, składa się z trzech powtarzalnych fazy.
Kolejność faz jest ważna: wprowadzanie jest przetwarzane wcześniej niż aktualizacja stanu (w przeciwnym razie postać
reaguje na klawisz z opóźnieniem jednej klatki), a aktualizacja — wcześniej niż rysowanie (w przeciwnym razie na ekranie
pojawi się stara, jeszcze nie zaktualizowana klatka). W rozdziale 20.26 te trzy fazy staną się trzema
metodami klasy Game.
pygame.init() nie jest jedynym sposobem na inicjalizację Pygame—możesz inicjować potrzebne moduły pojedynczo—ale w projektach w tej książce zawsze zaczynamy od niego: to wygodny sposób na inicjalizację wszystkich modułów, które wymagają inicjalizacji jednocześnie. Jeśli go pominiesz, niektóre moduły (głównie audio) nie będą gotowe, a komunikaty o błędach czasem wskazują na złe miejsce pygame.init(), ale na zupełnie innej linii — gdzie najpierw potrzebował Pygame nieinicjalizowanego modułu.pygame.event.get() powinien być wywoływany w każdej klatce, nawet jeśli wewnątrz pętli for event in ... nic nie robisz w większości zdarzeń. Przegapienie tego połączenia na kilka sekund to częsty powód oznaczenia „Nie odpowiada”