silphius/app/ecs-systems/run-animations.js

26 lines
490 B
JavaScript
Raw Normal View History

2024-06-12 14:31:12 -05:00
import {System} from '@/ecs/index.js';
export default class ControlMovement extends System {
static queries() {
return {
default: ['Sprite'],
};
}
tick(elapsed) {
2024-06-26 07:41:07 -05:00
for (const {Sprite} of this.select('default')) {
2024-06-27 13:57:30 -05:00
if (0 === Sprite.speed) {
continue;
}
2024-06-12 14:31:12 -05:00
Sprite.elapsed += elapsed / Sprite.speed;
while (Sprite.elapsed > 1) {
Sprite.elapsed -= 1;
Sprite.frame = (Sprite.frame + 1) % Sprite.frames;
}
}
}
}