Example usage for com.badlogic.gdx.spriter SpriterAnimationAdapter SpriterAnimationAdapter

List of usage examples for com.badlogic.gdx.spriter SpriterAnimationAdapter SpriterAnimationAdapter

Introduction

In this page you can find the example usage for com.badlogic.gdx.spriter SpriterAnimationAdapter SpriterAnimationAdapter.

Prototype

SpriterAnimationAdapter

Source Link

Usage

From source file:com.badlogic.gdx.spriter.demo.SpriterDemoApp.java

private void changeSpriterFile(SpriterDemoFileHandle file) {

    AssetManager manager = file.manager;

    AssetDescriptor<SpriterData> desc = new AssetDescriptor<SpriterData>(file, SpriterData.class);

    try {//  w w  w  . ja  v a2  s.c o m
        manager.load(desc);
        manager.finishLoading();
    } catch (GdxRuntimeException ex) {
        popup("Loading error", ex.getLocalizedMessage());
        return;
    }

    SpriterData data = manager.get(desc);

    animators.clear();

    for (SpriterEntity entity : data.entities) {
        // Change toString method for charmaps
        Array<SpriterCharacterMap> replacements = new Array<SpriterCharacterMap>();
        for (SpriterCharacterMap map : entity.characterMaps) {
            SpriterCharacterMap newMap = new SpriterCharacterMap() {
                @Override
                public String toString() {
                    return id + ": " + name;
                }
            };
            newMap.id = map.id;
            newMap.name = map.name;
            newMap.maps = map.maps;
            replacements.add(newMap);
        }
        entity.characterMaps = replacements;

        SpriterAnimator animator = new SpriterAnimator(entity) {
            @Override
            public String toString() {
                SpriterEntity entity = getEntity();
                return entity.id + ": " + entity.name;
            }
        };
        animator.addAnimationListener(new SpriterAnimationAdapter() {
            @Override
            public void onEventTriggered(SpriterAnimator animator, String eventName) {
                popup("SpriterEvent", eventName);
            }

            @Override
            public void onAnimationFinished(SpriterAnimator animator, SpriterAnimation animation) {
                if (!animation.looping)
                    animator.play(animation);
            }
        });

        animators.add(animator);
    }

    fileChooser.setSelected(file);

    entityChooser.setItems(animators);

    if (animators.size > 0)
        changeAnimator(animators.first());
}