StageData module defines the structure for stage backgrounds, props, and character placement.
StageData Structure
Core Properties
Semantic version of the stage data format
Display name of the stage
Default camera zoom level for this stage
Asset directory for stage assets
Array of visual props/sprites for the stage
Positioning and rendering config for
bf, dad, and gfStageDataProp
Defines a visual prop or sprite in the stage.Basic Properties
Unique identifier for script access. If omitted, prop cannot be referenced by scripts
Path to the sprite asset. Can also be a hex color (e.g.,
"#ff0000") to create a colored rectanglePosition as
[x, y] coordinates in pixelsStack order relative to other props and characters. Higher values render on top
Visual Properties
Scale as a single float or
[width, height] array. Use higher values on small pixel art to save memoryOpacity from 0.0 (transparent) to 1.0 (opaque)
Rotation angle in degrees
Set to
true to disable anti-aliasing for pixel artWhether to flip the sprite horizontally
Whether to flip the sprite vertically
Color overlay as hex string.
#FFFFFF (white) applies no tintBlend mode (e.g.,
"add", "multiply", "screen"). Empty string uses normal blendingScrolling & Parallax
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
Play idle/dance animation every X beats. Set to
0 to disable. Requires animations to be defined. Supports precision up to 0.25Array of animation definitions for this prop with
name, prefix, frameIndices, etc.Name of the animation to play on stage load
Animation system:
"sparrow", "packer", or "animateatlas"Texture Atlas Settings
Advanced settings for Animate Atlas props
TextureAtlasData
Enable SWF-like behavior for MovieClip symbols to play automatically
Cache filters and masks at load time instead of during runtime
Filter quality level:
0= HIGH1= MEDIUM2= LOW3= RUDY
Apply the stage matrix from Animate. Only enable if prop was pre-positioned in Animate
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).
Character spawn position as
[x, y] in pixelsStack order relative to props and other characters
Scale multiplier for the character on this stage
Camera focus offset as
[x, y] when this character is focused:- Boyfriend:
[-100, -100](default) - Dad/Opponent:
[100, -100](default) - Girlfriend:
[0, 0](default)
Parallax scroll factor as
[x, y]. See prop scroll documentation for behaviorCharacter opacity
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 props0 to 9: Background props (behind GF)10: Girlfriend (default)11 to 49: Mid-ground props50: Boyfriend and Dad (default)51 to 99: Near-ground props100+: Foreground/overlay props
Tips
- Use
scrollvalues less than[1, 1]for background parallax effects - Set
isPixel: trueon 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
assetPathas hex colors usescaleto determine rectangle size
