Sprites & animations
A sprite is a named subset of frames with a pivot point — your Hero, your Slime, your Coin. An animation is an ordered playback sequence of (frame, durationMs) pairs that targets a sprite's frames. Both live in the right panel under their own tabs.
This separation lets you share frames across multiple animations of the same sprite (idle, walk, jump can all draw from the same set of frames in different orders).
Sprites tab
Right panel → Sprites tab.
| Control | What |
|---|---|
| + | Create a new empty sprite |
| List | Each sprite shows its name, frame count, and a small thumbnail |
| Click | Activate the sprite — the Frames timeline filters to show only its frames |
| Pivot | x, y inputs — the sprite's anchor point (used by exports for positioning) |
| × on hover | Delete the sprite (frames stay in the project) |
The active sprite is highlighted in purple.
Add frames to a sprite
While a sprite is active, the Frames timeline shows a + Active frame to sprite button in its header. Click it to push the currently-active frame into the sprite's frameIds list.
To remove a frame from a sprite without deleting it from the project, hover the frame thumbnail (while sprite-filtered) and click the × that appears.
Reorder frames in a sprite
When the sprite is active, the timeline drag-reorder reorders the sprite's frame list, not the global frameOrder. (Outside sprite filtering, drag reorders the global order.)
Anims tab
Right panel → Anims tab.
An animation lives on a sprite. It has:
- Name
- Sprite reference (which sprite's frames it can use)
- Loop mode —
loop/pingpong/once - Steps — ordered
[{frameId, durationMs}, ...]
| Control | What |
|---|---|
| + | Create a new animation on the active sprite |
| Name input | Inline rename |
| Loop selector | Switch between loop / pingpong / once |
| Step list | Each row is a frame thumbnail + ms input + delete |
| + step | Add the active frame to the end of the steps |
| × on hover | Delete a step |
When you pick a frame inside an animation step, it must belong to the animation's sprite. (You can't have an animation whose steps reference frames outside its sprite.)
Loop modes
| Mode | Playback |
|---|---|
| loop (default) | 1 → 2 → … → N → 1 → 2 → … |
| pingpong | 1 → 2 → … → N → N−1 → … → 1 → 2 → … |
| once | 1 → 2 → … → N → stop |
Step durations
Each step has its own durationMs. When you add a step from the active frame, the duration is seeded from the frame's own duration. Override per-step in the input.
AnimationPreview widget
Below the animation's step list is a small live preview that loops the animation at its real durations. Use this to scrub timing.
The full-size Preview Window (P) plays whichever animation is currently active.
Workflow
- Draw your character on Frame 1 (idle pose).
- Duplicate Frame 1 → tweak slightly to make Frame 2 (idle blink).
- Create a sprite called
Hero, add Frames 1 and 2 to it. - Create an animation called
idleonHero, add Frames 1 and 2 as steps with 600 ms / 100 ms durations. - Hit play in the AnimationPreview — Hero blinks every 600 ms.
Tips
- Sprites and animations are separate so you can have one sprite (
Hero) used in multiple animations (idle,walk,jump) without duplicating frames. - If you delete a frame, animations referencing it lose that step automatically.
- If you delete a sprite, its animations are also deleted.
- For exporting Aseprite-compatible JSON of a sprite + animation, see Sprite sheet export.
Related
- Frames & timeline
- Frame tags — alternative to per-sprite organisation when you want a flat tagged timeline
- Preview Window
- Sprite sheet export