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.

Loptička

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!

results matching ""

    No results matching ""