25 for (
auto&& [sprite, animation] : view) {
28 while (animation.elapsedTime >= animation.frameDuration) {
29 animation.elapsedTime -= animation.frameDuration;
31 animation.currentFrame = (animation.currentFrame + 1) % animation.totalFrames;
33 sprite.rectLeft = animation.frameLeft + animation.currentFrame * animation.frameWidth;
34 sprite.rectTop = animation.frameTop;