refactor(anim): migra AnimatedSprite al format sprite:/frame_ms, animacions en mapa

This commit is contained in:
JailDesigner committed 2026-04-24 21:01:21 +02:00
1 parent ea0f6d98a9
commit 50aae790b1
4 files changed
+158 -138

No files matched your search

+19 -20
View File
@@ -1,7 +1,7 @@
# player animation
tileSetFile: morcus.gif
frameWidth: 16
frameHeight: 32
sprite:
path: morcus.gif
size: [16, 32]
# Geometria de col·lisió del jugador (independent de l'animació):
# size → costat del quadrat de col·lisió (16×16)
@@ -16,30 +16,29 @@ collision:
# els passadissos. Centrada en el mateix punt que la caixa base.
hit_size: 8
# Animacions en mapa (clau = nom). Camps per animació:
# frames → llista d'índexs dins de l'spritesheet.
# frame_ms → durada de cada frame en ms. Escalar = uniforme; llista =
# per-frame (mateixa mida que `frames`).
# loop → true per defecte. `loop: false` = un sol tret (es queda al
# darrer frame i `animationIsCompleted()` passa a true).
# loop_from → rebota a aquest índex en passar del final (implica loop).
animations:
- name: stand_down
frames: [0]
stand_down: { frames: [0] }
stand_up: { frames: [4] }
stand: { frames: [8] }
- name: stand_up
frames: [4]
- name: stand
frames: [8]
- name: walk_down
speed: 0.1
loopFrom: 0
walk_down:
frames: [0, 1, 2, 3]
frame_ms: 100
- name: walk_up
speed: 0.1
loopFrom: 0
walk_up:
frames: [4, 5, 6, 7]
frame_ms: 100
- name: walk
speed: 0.1
loopFrom: 0
walk:
frames: [8, 9, 10, 11]
frame_ms: 100
# Inèrcia només de frenada. L'acceleració és sempre instantània (soltar
# el teclat + prémer una direcció = velocitat plena); en canvi, quan es