Přeskočit na obsah

Převodník grafiky (PNG → Bitmap)

Otevřít převodník → — přetáhni PNG, zvol rozložení, stáhni .py modul. Nic neopouští tvůj prohlížeč.

Je to webové dvojče tools/png2picogame.py a vytváří stejný modul, byte po bytu (golden test drží oba nástroje v souladu): .py s pixely, paletou a helperem bitmap(pg).

  • Spritesheet — snímky vedle sebe (--frames N); tileset — libovolná mřížka přebalená do stripu (--tile WxH), s dedup shodných dlaždic až na rotaci/zrcadlení a tabulkou REMAP pro tvou tilemapu; jeden obrázek — pozadí.
  • PAL8 nebo RGB565 — auto zvolí PAL8, když má grafika ≤ 255 barev (1 bajt/pixel; přesně to chceš na RP2040). Max barev + dither pro fotky/přechody. RLE pro velké jednorázové PAL8 pozadí (malý modul, rozbalí se při načtení).
  • Průhlednost — alfa, barva levého horního pixelu, magenta #F800F8, nebo žádná.
  • Údaj o RAM — přesná cena Bitmapy v heapu zařízení, s varováním, když je to na RP2040 hodně (~138 KB heapu celkem).
  • ▶ Try in playground — otevře playground s assetem na obrazovce (snímky cyklují; LEFT/RIGHT krokují), takže ho vidíš vykreslený opravdovým enginem, než něco kopíruješ.

Zdrojový kód: tools/assets/ — statická aplikace, sdílí core.js s editorem.

Dej my_sprite.py vedle code.py (nebo ho předkompiluj přes tools/build_mpy.sh) a:

import my_sprite
bm = my_sprite.bitmap(pg) # picogame.Bitmap (snímky ze sheetu)
spr = pg.Sprite(bm, 100, 80)
spr.frame = 2

Pro scénu z editoru úrovní tohle vůbec nepotřebuješ: Export → baked <name>_scene.py rovnou zapeče všechny importované PNG a dá ti modul připravený pro picogame_scene.load(pg, level1_scene.SCENE).