Skip to main content
The StageData module defines the structure for stage backgrounds, props, and character placement.

StageData Structure

Core Properties

String
required
Semantic version of the stage data format
String
default:"Unknown"
Display name of the stage
Float
default:"1.0"
Default camera zoom level for this stage
String
default:"shared"
Asset directory for stage assets
Array<StageDataProp>
default:"[]"
Array of visual props/sprites for the stage
StageDataCharacters
required
Positioning and rendering config for bf, dad, and gf

StageDataProp

Defines a visual prop or sprite in the stage.

Basic Properties

String
Unique identifier for script access. If omitted, prop cannot be referenced by scripts
String
required
Path to the sprite asset. Can also be a hex color (e.g., "#ff0000") to create a colored rectangle
Array<Float>
required
Position as [x, y] coordinates in pixels
Int
default:"0"
Stack order relative to other props and characters. Higher values render on top

Visual Properties

Float | Array<Float>
default:"1.0"
Scale as a single float or [width, height] array. Use higher values on small pixel art to save memory
Float
default:"1.0"
Opacity from 0.0 (transparent) to 1.0 (opaque)
Float
default:"0.0"
Rotation angle in degrees
Bool
default:"false"
Set to true to disable anti-aliasing for pixel art
Bool
default:"false"
Whether to flip the sprite horizontally
Bool
default:"false"
Whether to flip the sprite vertically
String
default:"#FFFFFF"
Color overlay as hex string. #FFFFFF (white) applies no tint
String
default:""
Blend mode (e.g., "add", "multiply", "screen"). Empty string uses normal blending

Scrolling & Parallax

Array<Float>
default:"[1, 1]"
Parallax scroll factor as [x, y]:
  • [1, 1] = moves 1:1 with camera (no parallax)
  • [0.5, 0.5] = moves half as much (background effect)
  • [0, 0] = static/fixed position

Animation

Float
default:"0.0"
Play idle/dance animation every X beats. Set to 0 to disable. Requires animations to be defined. Supports precision up to 0.25
Array<AnimationData>
default:"[]"
Array of animation definitions for this prop with name, prefix, frameIndices, etc.
String
Name of the animation to play on stage load
String
default:"sparrow"
Animation system: "sparrow", "packer", or "animateatlas"

Texture Atlas Settings

TextureAtlasData
Advanced settings for Animate Atlas props

TextureAtlasData

Bool
Enable SWF-like behavior for MovieClip symbols to play automatically
Bool
Cache filters and masks at load time instead of during runtime
Int
Filter quality level:
  • 0 = HIGH
  • 1 = MEDIUM
  • 2 = LOW
  • 3 = RUDY
Bool
Apply the stage matrix from Animate. Only enable if prop was pre-positioned in Animate
Bool
Render as single texture instead of separate limbs. Enable when using alpha changes, shaders, or blend modes

StageDataCharacter

Defines positioning and rendering for stage characters (bf, dad, gf).
Array<Float>
default:"[0, 0]"
Character spawn position as [x, y] in pixels
Int
default:"0"
Stack order relative to props and other characters
Float
default:"1.0"
Scale multiplier for the character on this stage
Array<Float>
required
Camera focus offset as [x, y] when this character is focused:
  • Boyfriend: [-100, -100] (default)
  • Dad/Opponent: [100, -100] (default)
  • Girlfriend: [0, 0] (default)
Array<Float>
default:"[1, 1]"
Parallax scroll factor as [x, y]. See prop scroll documentation for behavior
Float
default:"1.0"
Character opacity
Float
default:"0.0"
Character rotation in degrees

Example: Basic Stage

Example: Animated Prop

Example: Color Rectangle Prop

Example: Parallax Background

Character Z-Index Reference

Common z-index layering:
  • -100 to -1: Far background props
  • 0 to 9: Background props (behind GF)
  • 10: Girlfriend (default)
  • 11 to 49: Mid-ground props
  • 50: Boyfriend and Dad (default)
  • 51 to 99: Near-ground props
  • 100+: Foreground/overlay props

Tips

  • Use scroll values less than [1, 1] for background parallax effects
  • Set isPixel: true on all pixel art props to avoid blurriness
  • Use negative z-index values for backgrounds that should render behind everything
  • For performance, use larger z-index gaps (e.g., 0, 100, 200) instead of sequential values
  • Color props with assetPath as hex colors use scale to determine rectangle size