Sorted out the animation vs. easing contradiction I believe. Now there's a separate easing_duration that's calculated from the total duration of all frames. Then a easing_position determines where in the total the animation is, which is fed to the asing functions as a ration of easing_position / easing_duration.

This commit is contained in:
Zed A. Shaw 2026-02-21 01:57:33 -05:00
parent 0c798c9e0d
commit 1baca783fc
9 changed files with 47 additions and 75 deletions

View file

@ -6,9 +6,9 @@
"frame_height": 720
},
"sequences": {
"idle": {"frames": [0], "durations": [800] },
"hurt": {"frames": [1, 1], "durations": [800, 240] },
"attack": {"frames": [1, 0], "durations": [800, 200] }
"idle": {"frames": [0], "durations": [47] },
"hurt": {"frames": [0, 1], "durations": [5, 57] },
"attack": {"frames": [0, 1, 0, 1], "durations": [35, 15, 5, 5] }
},
"transforms": {
"rushing": {
@ -17,7 +17,6 @@
"max_x": 0.8,
"max_y": 0.8,
"flipped": false,
"ease_rate": 5.0,
"scaled": true,
"toggled": false,
"looped": true,
@ -31,7 +30,6 @@
"max_x": 20.0,
"max_y": 20.0,
"flipped": true,
"ease_rate": 5.0,
"scaled": true,
"toggled": false,
"looped": false,
@ -45,7 +43,6 @@
"max_x": 0,
"max_y": -10,
"flipped": false,
"ease_rate": 3.0,
"scaled": false,
"toggled": false,
"looped": true,
@ -72,9 +69,9 @@
"frame_height": 540
},
"sequences": {
"idle": {"frames": [0], "durations": [800] },
"hurt": {"frames": [0], "durations": [800] },
"attack": {"frames": [0], "durations": [800] }
"idle": {"frames": [0], "durations": [47] },
"hurt": {"frames": [0], "durations": [47] },
"attack": {"frames": [0], "durations": [47] }
},
"transforms": {
"breathe": {
@ -83,7 +80,6 @@
"max_x": 0,
"max_y": -10,
"flipped": false,
"ease_rate": 3.0,
"scaled": false,
"toggled": false,
"looped": true,
@ -110,7 +106,7 @@
"frame_height": 256
},
"sequences": {
"idle": {"frames": [0,1,2], "durations": [100, 100, 100] }
"idle": {"frames": [0,1,2], "durations": [10, 10, 10] }
},
"transforms": {
"render": {
@ -119,7 +115,6 @@
"max_x": 0,
"max_y": 0,
"flipped": false,
"ease_rate": 3.0,
"scaled": true,
"toggled": false,
"looped": true,