examples/space: демо полного спрайтового стека (атлас W0 + авто-анимации)
Всё сразу: .atl с диска (mkatlas.py из генерённых лент) → atlas_load в EMM-страницу (W0, ISR-стаб) → движок sprite_t.page → авто-анимации: 5 астероидов (ANIM_LOOP вращение + sprite_moveto к случайным целям разных скоростей; по прибытии — взрыв ANIM_ONCE в точке + новая цель, по SPR_ANIM_DONE взрыв прячется), маяк ANIM_PINGPONG; дабл-буфер, FPS-метр, ESC. ~48 fps (vsync-кап). Грабли по дороге (оба — прикладные, не библиотека): - фон рисовался rand()'ом с разными последовательностями на страницах → мерцание звёзд; фикс — фиксированный seed на draw_space; - НЕ была скопирована палитра страницы 0 → 1 (у каждой страницы своя, см. gfx.h) — страница 1 показывалась чёрной, флип мигал «сцена/чёрный»; fps-плашка теперь рисуется на ОБЕИХ страницах (fps_draw=2 кадра при смене секунды). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
PROJ_ROOT := $(abspath $(CURDIR)/../..)
|
||||
EXAMPLE := space
|
||||
EXTRA_FLAGS ?= --gfx 256 --memory tiny
|
||||
EXTRA_DATA := space.atl
|
||||
include $(PROJ_ROOT)/app.mk
|
||||
|
||||
# Атлас: три ленты 16×16×4 (астероид/взрыв/маяк) → одна EMM-страница.
|
||||
space.atl: gen_sprites.py $(PROJ_ROOT)/toolchain/mkatlas.py
|
||||
python3 gen_sprites.py
|
||||
python3 $(PROJ_ROOT)/toolchain/mkatlas.py $@ \
|
||||
asteroid.raw:16x16:1x4 explode.raw:16x16:1x4 beacon.raw:16x16:1x4
|
||||
|
||||
$(EXAMPLE).exe: space.atl
|
||||
Reference in New Issue
Block a user