Python zajęcia 11
🐍 Nazwy zmiennych w funkcjach i klasach są prywatne dla danych funkcji, klas.
🚀Gry w Pythonie
🎮PyGameZero to uproszczona Pygame, która usuwa konieczność pisania boilerplate code — kodu startowego, który zwykle trzeba napisać, zanim gra w ogóle zacznie działać.
pip3 install pgzero
🧱 Podstawowa struktura gry
import pgzrun
from pygame import display
from pgzero import screen as pgzero_screen
from pgzero.builtins import keyboard
# rozmiar okna - pozniej wrzucimy to do osobnego pliku
WIDTH = 800
HEIGHT = 600
screen = pgzero_screen.Screen(display.set_mode((WIDTH, HEIGHT), 0))\
def update():
# tu aktualizujemy stan obiektow
pass
def draw():
# tu je rysujemy
pass
# wywołanie pętli gry
pgzrun.go()
🔧 Niezbędne funkcje i klasy
draw()
— funkcja rysująca zawartość ekranu
update()
— aktualizuje logikę gry
Klasa Actor
- reprezentuje obiekt graficzny — np. postać, przycisk czy tło. Actor
jest powiązany z obrazem (.png
) w folderze images/
. Pojawia się wszędzie gdzie obiekty wchodzą z sobą w interakcje. Zapewnia obsługę kolizji.
screen.draw.text()
- tekst na ekranie (x,y) - współrzędne, gdzie tekst ma się pojawić (lewy górny róg 0.0)
🧲 Każdy Actor
ma wbudowany prostokąt , który określa jego rozmiar. Metoda colliderect()
sprawdza, czy prostokąt jednego aktora nachodzi na prostokąt drugiego