Example usage for com.badlogic.gdx.spriter SpriterAnimator addAnimationListener

List of usage examples for com.badlogic.gdx.spriter SpriterAnimator addAnimationListener

Introduction

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

Prototype

public void addAnimationListener(SpriterAnimationListener listener) 

Source Link

Document

Add a SpriterAnimationListener to this SpriterAnimator .

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.j  a va 2 s. co 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());
}