Jak picogame funguje
picogame si mezi snímky pamatuje objekty ve scéně. Ty změníš jejich stav, zavoláš
scene.refresh() a engine překreslí dotčené oblasti. Tato stránka vysvětluje tento princip
a herní smyčku, která ho používá.
Neznámé herní pojmy najdeš ve slovníčku.
Hlavní myšlenka: popiš scénu, pak řekni, co se pohnulo
Sekce “Hlavní myšlenka: popiš scénu, pak řekni, co se pohnulo”Většina obrazovky hry se mezi snímky nemění: pozadí zůstává na místě, pohybuje se jen pár věcí. picogame je kolem toho postavený.
Scénu popíšeš jednou (tyhle sprity, tahle tilemapa, tohle pozadí) a pak každý snímek
jen změníš to, co se pohnulo (ball.x += 3) a zavoláš scene.refresh(). Engine zjistí,
které malé obdélníky se změnily (každý z nich je dirty region),
a překreslí jen je. Nic se nepohnulo? Na displej se nic
neposílá.
Páky, které hru drží na stálých 30 FPS i jak roste, najdeš na Výkon.
Množství práce proto obvykle odpovídá tomu, kolik se změnilo, ne velikosti obrazovky.
Posun kamery a vrstvy označené jako always_dirty jsou hlavní výjimky: překreslí celou hrací
plochu. Oblasti sleduje engine za tebe.

Stavební díly, ze kterých skládáš scénu
Sekce “Stavební díly, ze kterých skládáš scénu”Do scény můžeš vložit tyto hlavní objekty:
- Sprite — pohyblivý obrázek: hráč, nepřítel, střela, mince. Má pozici, lze ho překlopit, animovat po snímcích, zvětšovat a otáčet.
- Tilemap — velká mřížka složená z malé sady obrázků dlaždic: úroveň, dlážděné pozadí, cihlová zeď. Levná, protože mřížka ukládá jedno číslo na buňku místo každého pixelu.
- Bitmap — samotný obrázek, který sprite nebo dlaždice kreslí. Můžeš ho vygenerovat v kódu (kruh, obdélník) nebo ho převést z PNG.
- Scene — kontejner, který drží všechno výše uvedené a kreslí to v pořadí. Každá kreslená věc je vrstva (jedna věc, kterou scéna kreslí, naskládaná zezadu dopředu); přidáváš do něj věci a každý snímek ho obnovíš.
- Kamera — scéna má pohled, kterým můžeš pohybovat (
set_view), takže svět může být větší než obrazovka a posouvat se, jak hráč chodí.
Pro vlastní kreslení slouží Canvas, pro kreslení po pruzích StripDraw a pro částicové efekty Particles. S výběrem pomůže průvodce funkcemi.
Herní smyčka
Sekce “Herní smyčka”Každá hra v picogame má stejný tvar:
- Čti vstup — která tlačítka jsou stisknutá.
- Aktualizuj — pohni věcmi, spusť herní pravidla, vytvoř a odeber objekty.
- Obnov —
scene.refresh()vykreslí změny. - Počkej — hodiny omezí snímkovou frekvenci, aby hra běžela stálou rychlostí.
while True: buttons.poll() # 1. vstup ball.x += speed # 2. aktualizace scene.refresh() # 3. vykresli, co se změnilo clock.tick() # 4. udrž snímkovou frekvenci
Kolize, zvuk, skóre a ostatní herní pravidla patří do kroku 2.
Tenhle čtyřkrokový tvar je univerzální. Jakmile má hra víc obrazovek (title / hra / konec) a potřebuje
restart, drž její stav v jednom objektu a přesuň tuhle smyčku do funkce main() — ten tvar (a proč)
najdeš v Herních vzorech.
Začni bez hardwaru
Sekce “Začni bez hardwaru”Stejný herní kód můžeš spustit i mimo zařízení. Bez instalace použij Playground, pro lokální práci desktopový simulátor. Prohlížeč, simulátor a zařízení sdílejí API, ale liší se v limitech RAM, časování, vstupu, zvuku a efektech panelu. Proto hru během vývoje pravidelně zkoušej také na cílovém hardwaru.
Kam dál
Sekce “Kam dál”Začínáš? Postav první hru a pokračuj tutoriály. Průvodce funkcemi a referenci otevři, když vybíráš nástroj nebo hledáš přesnou signaturu.
Znáš jiný engine nebo displayio? Přejdi na mapu pojmů,
slovníček a potom na referenci.
- Vytvoř svou první hru — vyzkoušej princip za pět minut.
- Tutoriály — tři hry, v každém kroku jedna nová myšlenka.
- Průvodce funkcemi — vyber nástroj podle úkolu.
- Referenční příručka API — ověř přesnou signaturu.