Quick answer: GameMaker sprite frozen on frame 0 because image_speed = 0? Zero means no auto-advance — set to 1.0 for sprite frame rate, fractional for slow motion.
An animated explosion sprite shows only frame 0. image_speed was set to 0 to pause it during a transition and never restored.
Image Speed Values
image_speed multiplies the sprite’s configured frame rate. 1 = normal; 0.5 = half; 0 = no advance. Negative = reverse playback.
Set to 1 to Play
image_speed = 1.0;
image_index = 0;Play from start. Combine with the sprite’s configured FPS in the asset.
Pause Without Reset
Set image_speed = 0 to pause. Image_index stays where it was. Resume by setting back to 1.
Per-Frame Logic
Manual control: set image_speed = 0, advance image_index yourself in Step based on game time. Useful for desync-resistant animations.
Verifying
Animations play at intended frame rate. Pausing / resuming via image_speed works as expected.
“image_speed = 0 means freeze. Set to 1 to play; tune for speed.”
For pause / resume patterns, save the previous image_speed before zeroing — restore exactly on resume.