Flump runtimes have been written for a number of languages.
- ActionScript/Stage3D - Flump itself. The canonical runtime, built on top of Starling. (Check out the demo project included in Flump.)
- Haxe - Flambe
- Java - PlayN
- Objective-C - Betwixt. (Built on top of Sparrow)
- Dart - StageXL
Supported Properties & Features
Flump supports (/exports) the following DisplayObject/keyframe properties:
- translation (x,y)
- skewX, skewY
- rotation (via skewX/Y - either of these can be used as rotation)
- Color Effect: alpha
- tween easing - none, linear, easeIn, easeOut
- frame labels
These features are not currently supported, but could be:
- Custom tween easing
- Color Effects: brightness, tint, "advanced"
- Scale-9 grid
- Motion guide layers
These features will probably never be supported:
- Timeline scripting
- Text (Flash has its own text rendering engine that would be a huge effort to replicate)
- Multiple symbols per layer (Flump's "one symbol per layer" rule simplifies the export process and doesn't put an undue burden on artists)
These features are intentionally not implemented by the runtime, to keep the API as simple and flexible as possible, but can easily be added by client code:
- Looping (add "loopstart/loopend" labels to a movie; listen for frame label signals to be notified of loopend, and jump back to loopstart)
- Sound triggers (frame labels, again)
- Modifying animation speed (modify the value passed to
Why doesn't Flump export symbol instance names?
Flump uses layer names, instead of instance names, to name the objects in an exported animation, because instances can be renamed during an animation, which is behavior we don't want to support.
Why are flipbooks required to be exported, even if they're used indirectly?
The Flump exporter needs to be able to instantiate a flipbook in order to generate textures from each of its keyframes. A symbol must be marked for export in order for the exporter to instantiate. Flump parses non-flipbook movies entirely from XFL; no SWF instantiation is required.