Rozdział 20 · Tworzenie gier z Pygame
Tworzenie okna gry i pierwszej pętli gry
Pętla rozgrywki jest sercem każdej gry na Pygame: jest pisana ręcznie, klatka po klatce.
Tworzenie okna gry
Ekran Pygame — zwykła powierzchnia (Surface) dane
Rozmiar:
igrovoj_ekran.py
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption(„Moja pierwsza gra”)
Pętla rozgrywki
W przeciwieństwie do Tkinter z jego mainloop(), w Pygame pętla gry jest pisana ręcznie — daje to pełną kontrolę nad tym, co dzieje się w każdej klatce:
igrovoj_cikl.py
clock = pygame.time.Clock()
rabotaet = True
while rabotaet:
for event in pygame.event.get():
if event.type == pygame.QUIT:
rabotaet = False
pygame.display.flip() # pokaż narysowaną klatkę
clock.tick(60) # nie więcej niż 60 fps
pygame.quit()
Po co potrzebny jest pygame.QUIT?
Brak obsługi zdarzeń
pygame.QUIT (klikając krzyżyk w oknie) program nie wie, że użytkownik chce zamknąć grę, a okno przestaje reagować. Obsługa zdarzeń na początku każdej klatki pętli jest obowiązkową częścią każdego programu na Pygame.Tło i czyszczenie ramek
screen.fill(цвет) maluje cały ekran kolorami (jak
RGB, Rozdział 11) jest zazwyczaj pierwszym poleceniem w każdej klatce, w przeciwnym razie
„Ślady”
zalivka_fona.py
CVET_FONA = (20, 20, 40)
screen.fill(CVET_FONA)
Praktyka: Pętla gry i wypełnienie tła
Pygame otwiera natywne okno Python – uruchomione lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie