How to Animate a Spritesheet

Quest Toolkit Guide 7

Animation is flipping through frames fast enough to look like motion. You draw the frames, then tell the engine which order and speed to play.

Draw the motion

  • Start with 4–6 frames for a walk cycle.
  • Keep feet on the same baseline.
  • Use onion skin to line up the next pose.
  • Idle can be 2 frames — subtle bob is enough for quests.

Frame timing

FPS = how many frames per second. 8–12 fps reads well for pixel art. 24 fps is smoother but more drawing work.

In Aseprite

  1. Add frames in the timeline (duplicate, nudge limbs).
  2. Set frame duration (e.g. 100 ms per frame).
  3. Preview with Play.
  4. Export sprite sheet when it loops cleanly.

In Godot

AnimatedSprite2D or AnimationPlayer. Build SpriteFrames: add animation name 'walk', insert frames from the sheet, set speed (fps). Flip h for facing left.

In Phaser

After load.spritesheet, create anims entry with start, end, frameRate, repeat. this.anims.create({ key: 'walk', frames: ..., frameRate: 10, repeat: -1 }).

Raw Canvas

Track frameIndex and timer. Each tick, advance index and drawImage the right source rectangle from the sheet.

Common fixes

  • Slidey feet → fewer frames or hold contact poses longer.
  • Buzzing edges → export at 1× scale, nearest neighbor.
  • Wrong frame order → label rows in the sheet file.
  • Too fast → lower frameRate or longer ms per frame.
All guides

© 2026 The Daily Quest