Aktér
Čokoľvek, čo budeme vedieť ovládať na obrazovke, sa budeme volať aktér. Ten bude v PyGame Zero reprezentovaný triedou Actor
.
Ak chceme aktéra vytvoriť, konštruktor triedy Actor
má jeden povinný argument. Týmto argumentom je názov obrázku, ktorý bude aktéra reprezentovať.
reprezentovaný obrázkom
obrázok sa nachádza v priečinku images/
projektu
.
├── game.py
├── sounds/
│ ├── ping.wav
│ └── jingle.wav
└── images/
├── background.png
├── ball-blue.png
├── brick-green.png
├── brick-red.png
└── paddle-blue.png
Aktér loptička
Na reprezentáciu loptičky použijeme obrázok ball-blue.png
, ktorý sa nachádza uložený v priečinku images/
projektu.
Ak chceme vytvoriť aktéra s týmto obrázkom, vytvoríme novú inštanciu triedy Actor()
, ktorého jediný parameter bude názov obrázku. Tento názov však bude bez prípony a bez priečinku, v ktorom sa nachádza. Toto za nás vyrieši knižnica PyGame Zero automaticky - vojde do priečinku images/
a vyhľadá v ňom súbor so zadaným menom nehľadiac na jeho príponu.
Vytvoríme teda globálnu premennú s názvom ball
, do ktorej priradíme referenciu na novovytvorenú inštanciu triedy Actor
:
ball = Actor('ball-blue')
Ak teraz spustíme program, nič sa nestane. Zatiaľ sme totiž len vytvorili nového aktéra. Ak ho však chceme zobraziť na obrazovke, musíme nad ním zavolať metódu draw()
. A keďže vykresľovanie sa deje vo funkcii draw()
, vykreslíme guličku v nej.
def draw():
ball.draw()
Keď spustíme program teraz, loptička sa bude nachádzat v ľavom hornom rohu obrazovky.
Umiestnenie loptičky
Každý aktér má dve členské premenné, pomocou ktorých je možné pristupovať k jeho x-ovej a y-ovej súradnici. Ak teda pracujeme s aktérom loptička, a chceme ho umiestniť na pozíciu (0, 0), zapíšeme to takto:
ball.x = 0
ball.y = 0
Spustíme a ryža - vidíme len štvrtinu.
ball.pos = (0, 0)
Ak chceme umiestniť na stred obrazovky, tak môžeme dvoma spôsobmi
ball.x = HEIGHT / 2
ball.y = WIDTH / 2
Alebo
ball.pos = (WIDTH/2, HEIGHT/2)
Nepoužívať absolútne hodnoty!