Rozdział 20 · Tworzenie gier z Pygame
Sterujemy obiektem z klawiatury
Ruch to po prostu zmiana współrzędnych w każdej klatce; klawiaturę można przetestować na dwa różne sposoby.
Ruch obiektów
„Ruch”
peremeshenie.py
x_igroka += skorost_x
pygame.draw.rect(screen, CVET_IGROKA, (x_igroka, y_igroka, 40, 40))
Wydarzenia klawiszowe
Są dwa sposoby, aby dowiedzieć się o klawiaturze. Pierwszy — przez zdarzenia, jak w
pygame.event.get() (wygodne przy jednorazowych akcjach, jak skok):
sobytiya_klavish.py
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
print(„Skacz!”)
Drugim sposobem jest sprawdzenie aktualnego stanu klawiszy w każdej klatce (wygodniej dla ciągły ruch, na przykład znak w lewo lub prawo):
sostoyanie_klavish.py
klavishi = pygame.key.get_pressed()
if klavishi[pygame.K_LEFT]:
x_igroka -= 5
if klavishi[pygame.K_RIGHT]:
x_igroka += 5
Którą metodę powinienem wybrać?
Wydarzenia (
event.type == pygame.KEYDOWN) nadają się do działań „raz na naciśnięcie” — skok, strzał, pauza. get_pressed() nadaje się do ciągłego poruszania się, gdy klucz jest przytrzymany, co jest zgodne z kontrolą statku w rozdziale 21.Praktyka: ruch i klawisze
Pygame otwiera natywne okno Python – uruchomione lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie