flame-docs

Flame Engine Quick Reference

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "flame-docs" with this command: npx skills add cantagestudio/cosmicatlaspacker/cantagestudio-cosmicatlaspacker-flame-docs

Flame Engine Quick Reference

Component Lifecycle

onLoad() → onMount() → update(dt)/render(canvas) → onRemove()

Method Timing Purpose

onLoad()

Once, async Resource loading, initialization

onMount()

On tree addition Set parent/game references

update(dt)

Every frame State update (dt = delta seconds)

render(canvas)

Every frame Draw to screen

onRemove()

On removal Cleanup

Core Classes

Class Purpose Key Properties/Methods

FlameGame

Game root pauseEngine() , resumeEngine() , overlays

World

Hosts game components add() , children

Component

Base component add() , remove() , children , parent

PositionComponent

Position/size/rotation position , size , angle , anchor , scale

SpriteComponent

Static sprite sprite , paint

SpriteAnimationComponent

Animation animation , playing

CameraComponent

Camera control follow() , moveTo() , setBounds() , viewport

Shape Components

  • RectangleComponent

  • Rectangle

  • CircleComponent

  • Circle

  • PolygonComponent

  • Polygon

Collision Detection

Enable

// Add to Game or World class MyGame extends FlameGame with HasCollisionDetection {}

Hitbox Types

Hitbox Purpose

RectangleHitbox

Rectangular collision area

CircleHitbox

Circular collision area

PolygonHitbox

Polygon (convex only)

ScreenHitbox

Screen boundaries

CompositeHitbox

Composite hitbox

Collision Callbacks

class MyComponent extends PositionComponent with CollisionCallbacks { @override void onCollisionStart(Set<Vector2> points, PositionComponent other) {}

@override void onCollision(Set<Vector2> points, PositionComponent other) {}

@override void onCollisionEnd(PositionComponent other) {} }

Collision Type (Performance)

  • CollisionType.active

  • Checks against all hitboxes

  • CollisionType.passive

  • Only checked by active (better performance)

  • CollisionType.inactive

  • Ignored

Effects System

Effect Purpose Example

MoveEffect.to()

Move to target Character movement

MoveEffect.by()

Move by offset Relative movement

RotateEffect.to()

Rotate to angle Direction change

ScaleEffect.to()

Change size Zoom in/out

ColorEffect

Color/opacity Hit effect

SequenceEffect

Sequential execution Complex animation

OpacityEffect

Opacity Fade in/out

Effect Controller

MoveEffect.to( Vector2(100, 100), EffectController(duration: 1.0, curve: Curves.easeInOut), );

Camera & World

Camera Methods

Method Purpose

follow(target)

Follow target

moveTo(position)

Move to coordinates

moveBy(offset)

Move by offset

stop()

Stop movement

setBounds(shape)

Limit camera movement

canSee(component)

Check visibility

Viewport Types

Viewport Purpose

MaxViewport

Expand to max space (default)

FixedResolutionViewport

Fixed resolution + aspect ratio

FixedAspectRatioViewport

Fixed aspect ratio, scales

FixedSizeViewport

Fixed size

Bridge Packages

flame_riverpod (State Management)

// Game class MyGame extends FlameGame with RiverpodGameMixin {}

// Component class MyComponent extends Component with RiverpodComponentMixin { @override void onMount() { super.onMount(); final state = ref.watch(myProvider); } }

// Widget RiverpodAwareGameWidget<MyGame>( game: game, )

flame_forge2d (Physics Engine)

class MyGame extends Forge2DGame {}

class MyBody extends BodyComponent { @override Body createBody() { final shape = CircleShape()..radius = 10; final fixtureDef = FixtureDef(shape); final bodyDef = BodyDef(type: BodyType.dynamic); return world.createBody(bodyDef)..createFixture(fixtureDef); } }

flame_audio (Audio)

// Sound effects FlameAudio.play('explosion.mp3');

// BGM FlameAudio.bgm.play('background.mp3'); FlameAudio.bgm.stop(); FlameAudio.bgm.pause(); FlameAudio.bgm.resume();

Common Patterns

Add Component

await add(MyComponent()); // In onLoad add(MyComponent()); // In update

Remove Component

removeFromParent(); // Self component.removeFromParent(); // Other component

Query Children

children.query<Enemy>(); // Find by type componentsAtPoint(position); // Find by position findByKey(ComponentKey.named('player')); // Find by key

Priority (Z-order)

class MyComponent extends PositionComponent { MyComponent() : super(priority: 10); // Higher = rendered on top }

Official Docs

  • Flame Docs

  • Components

  • Collision

  • Effects

  • Camera

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

refactor-dedupe-and-cleanup

No summary provided by upstream source.

Repository SourceNeeds Review
General

task-segmentation

No summary provided by upstream source.

Repository SourceNeeds Review
General

brand-guidelines-enforcer

No summary provided by upstream source.

Repository SourceNeeds Review