Animation is a list of frames advanced on a millisecond timer, not once per loop iteration — looping states like idle/walk repeat forever, while one-shot states like attack/death play once and hold or trigger an event.
1-B 2-B 3-B 4-B | 5 faster 6 anim_timer (or animation timer) 7 = if anim_timer >= ANIM_SPEED: anim_timer = 0; frame_index = (frame_index + 1) % len(frames) 8 = it represents a single rise-apex-fall arc; looping it would make the character appear to jump repeatedly mid-air instead of holding at the peak/landing 9 = the list of frame images for that animation, and its playback speed/whether it loops | 10 = the animation would appear frozen or stuck flickering on frame 0 every frame, since it never gets the chance to advance to frame 1 before being reset back to 0 again