Afegit bloc `collision:` (size 16, base_size 12) al YAML del player; les `static constexpr` de `player.hpp` passen a `inline static int` (snake_case) i es calculen al `Player::loadFrom()`. `sprite_w/sprite_h` es llegeixen dels mateixos frameWidth/frameHeight que ja hi viuen. GameScene crida el load abans del spawn (mateix patró que `Map::loadFrom`). Permet ajustar la caixa del jugador sense recompilar.
33 lines
683 B
YAML
33 lines
683 B
YAML
# player animation
|
||
tileSetFile: player.gif
|
||
frameWidth: 12
|
||
frameHeight: 24
|
||
|
||
# Geometria de col·lisió del jugador (independent de l'animació):
|
||
# size → costat del quadrat de col·lisió (16×16)
|
||
# base_size → costat del quadrat visual inferior del sprite (els "peus");
|
||
# s'usa per centrar la caixa de col·lisió sobre ell.
|
||
collision:
|
||
size: 16
|
||
base_size: 12
|
||
|
||
animations:
|
||
- name: stand
|
||
frames: [1]
|
||
|
||
- name: walk
|
||
speed: 0.07
|
||
loopFrom: 0
|
||
frames: [2, 3, 4, 1]
|
||
|
||
- name: turn_walk
|
||
speed: [0.1, 0.07, 0.07, 0.07, 0.07]
|
||
loopFrom: 1
|
||
frames: [0, 2, 3, 4, 1]
|
||
|
||
- name: jump
|
||
frames: [6]
|
||
|
||
- name: jump_peak
|
||
frames: [5]
|