animation

Animate FlatRedBall2 sprites with AnimationChain structures and Aseprite loading.

11|3|Updated Feb 28, 2026
One-click install
npx skills add https://github.com/vchelaru/FlatRedBall2 --skill animation-vchelaru
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: animation
Source: https://github.com/vchelaru/FlatRedBall2/tree/main/frb-skills/animation
Command: npx skills add https://github.com/vchelaru/FlatRedBall2 --skill animation-vchelaru

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provide a structured, reusable system for defining and playing sprite animations in FlatRedBall2 using AnimationChain and AnimationChainList, including per-frame offsets and collision shapes.

Core Features & Use Cases

  • Define named animation chains via AnimationChain and AnimationChainList that drive sprite frames without per-frame game logic.
  • Load and play Aseprite/.ase assets and .achx metadata to produce consistent visuals across tools.
  • Support per-frame offsets, looping and non-looping playback, AnimationFinished events, and per-frame collision shapes (hitboxes/hurtboxes) for dynamic combat and interactions.
  • Hot-reload and dynamic updates with AnimationChainList.TryReloadFrom(path, content) to apply content changes at runtime.

Quick Start

Create an AnimationChainList with frames, assign it to the sprite's AnimationChains, and call PlayAnimation with the desired chain name.

Frequently Asked Questions about animation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I play sprite animations in FlatRedBall2 without writing per-frame game logic?

Define named animation chains using AnimationChain and AnimationChainList, assign the list to a sprite's AnimationChains property, and call PlayAnimation with the desired chain name to handle playback automatically.

Can I load and play Aseprite .ase files directly in MonoGame or KNI?

Yes, you can load Aseprite .ase assets and .achx metadata to produce consistent visuals across tools, leveraging FlatRedBall2 backends like MonoGame and KNI for sprite rendering.

How do I set up per-frame hitboxes and hurtboxes for 2D combat?

Attach per-frame collision shapes to individual AnimationFrame objects within your AnimationChain, enabling dynamic hitboxes and hurtboxes for combat interactions during sprite playback.

What is the best way to hot-reload sprite animations at runtime?

Use AnimationChainList.TryReloadFrom(path, content) to apply content changes dynamically at runtime, allowing live updates to animation frames and metadata without restarting the game.

Does FlatRedBall2 support AnimationFinished events for non-looping sprite playback?

Yes, AnimationChain structures support both looping and non-looping playback controls, including AnimationFinished events to trigger game logic when a specific animation sequence completes.

When do I need per-frame offsets in an AnimationChain?

Per-frame offsets are needed when individual frames require specific positional adjustments to align correctly within the sprite, ensuring smooth visual transitions and accurate collision shape positioning.