Rect: pozycja, rozmiar i współrzędne
pygame.Rect utrzymuje pozycję i rozmiar razem, a oś Y na ekranie rośnie w dół — w przeciwieństwie do Turtle i matematyki na papierze.
Już wspomnieliśmy pygame.Rect w sekcji 20.3 jako sposób
przechowywania pozycji i rozmiaru razem. Czas poznać go naprawdę — i przy okazji
zrozumieć, jak w Pygame działa układ współrzędnych.
pygame.Rect
igrok_rect = pygame.Rect(100, 200, 40, 40) # x, y, szerokość, wysokość
print(igrok_rect.x, igrok_rect.y) # lewy górny róg
print(igrok_rect.center) # środek — krotka (x, y)
print(igrok_rect.right, igrok_rect.bottom) # prawy i dolny krawędź
igrok_rect.x += 5 # przesunąć cały prostokąt w prawo
igrok_rect.center = (300, 300) # lub natychmiast ustawić nowy środek
Rect jest wygodna właśnie dlatego, że nie zmusza do ręcznego zapamiętywania
cztery oddzielne zmienne (x, y,
ширина, высота) i przeliczaj
granice obiektu samodzielnie — za to odpowiadają gotowe atrybuty, takie jak
.right, .center,
.bottom.
System współrzędnych: świat i ekran
W Pygame punkt (0, 0) to lewy górny róg ekranu, a oś jest Y
rośnie na ziemię, nie w górę. Warto o tym pamiętać, zwłaszcza po Turtle
(Rozdziały 6–7, 12 i 19), gdzie oś Y rośnie w górę, jak w matematyce na papierze:
| Matematyka / Turtle | Pygame | |
|---|---|---|
| Pochodzenie (0, 0) | Ekran centralny | Lewy górny róg |
| Kierunek wzrostu Y | Up | Down |
| „Skok w górę” | y rośnie | y się zmniejsza |
Stąd początkowe zamieszanie: kod „skoku”
y -= skorost_pryzhka, nie y += —
Bo "wyżej na ekranie" oznacza "niższą wartość Y".