Flump converts Flash keyframe animations into texture atlases and XML or JSON that can be easily integrated into any scene graph-based 2D game engine. Flump runtime then combines and interpolates the atlas entries according to the XML/JSON file, resulting in a smooth animation. There are runtimes for a growing number of game engines, includingĀ Starling.

Animations created in Flump’s style will use far less texture memory per frame of animation than an equivalent flipbook animation, allowing for more expressive animations on mobile platforms.

Sample

//
// Flump - Copyright 2013 Flump Authors

package flump.demo {

import flash.utils.ByteArray;

import starling.display.Sprite;
import starling.events.Event;

import flump.display.Library;
import flump.display.LibraryLoader;
import flump.display.Movie;
import flump.executor.Future;

public class DemoScreen extends Sprite
{
    public function DemoScreen () {
        const loader :Future = LibraryLoader.loadBytes(ByteArray(new MASCOT_ZIP()));
        loader.succeeded.add(onLibraryLoaded);
        loader.failed.add(function (e :Error) :void { throw e; });
    }

    protected function onLibraryLoaded (library :Library) :void {
        _movieCreator = new MovieCreator(library);
        var movie :Movie = _movieCreator.createMovie("walk");
        movie.x = 320;
        movie.y = 240;
        addChild(movie);

        // Clean up after ourselves when the screen goes away.
        addEventListener(Event.REMOVED_FROM_STAGE, function (..._) :void {
            _movieCreator.library.dispose();
        });
    }

    protected var _movieCreator :MovieCreator;

    [Embed(source="/mascot.zip", mimeType="application/octet-stream")]
    private static const MASCOT_ZIP :Class;
}
}
Animation . URL.