feat(anim): cardinal WEST i flip totalment governat pel motor d'animació
This commit is contained in:
1 parent
9dc7ff0da3
commit
72384c3113
15 files changed
+183
-182
No files matched your search
@@ -34,6 +34,13 @@ class AnimatedSprite : public MovingSprite {
|
||||
// Dades d'una animació concreta dins d'un spritesheet. Les claus del
|
||||
// mapa (`animations_`) són els noms; aquí només es guarden els fotogrames
|
||||
// i l'estat de reproducció.
|
||||
//
|
||||
// El flip és sempre propietat del motor: a cada `animate()` s'escriu el
|
||||
// flip del frame actual al sprite (default `SDL_FLIP_NONE` quan el YAML
|
||||
// no declara res). El codi del joc no pot — ni ha de — tocar el flip
|
||||
// manualment; ho expressa al YAML declarant `flip_h: true` a l'animació
|
||||
// simètrica (p. ex. `walk_west`) o, per a casos puntuals, per frame
|
||||
// amb la forma mapping `{ index, flip_h?, flip_v? }`.
|
||||
struct AnimationData {
|
||||
std::vector<Frame> frames;
|
||||
// Durada de cada frame en segons (convertit des de `frame_ms` al YAML).
|
||||
@@ -44,13 +51,6 @@ class AnimatedSprite : public MovingSprite {
|
||||
// 0 = loop complet des del primer frame.
|
||||
// N>0 = rebota al frame N en passar del final.
|
||||
int loop_from{0};
|
||||
// Si true, `animate()` escriu el flip del frame actual al sprite.
|
||||
// Si false (cas backward-compat per a animacions sense cap declaració
|
||||
// de flip), `animate()` no toca el flip — el codi del joc el segueix
|
||||
// controlant externament via `setFlip(...)`. Es marca a true quan
|
||||
// l'animació declara `flip_h`/`flip_v`, o quan algun frame es declara
|
||||
// amb la forma mapping `{ index, flip_h?, flip_v? }`.
|
||||
bool controls_flip{false};
|
||||
bool completed{false};
|
||||
int current_frame{0};
|
||||
float accumulated_time{0.0F};
|
||||
|
||||
Reference in new issue
Block a user