Example usage for com.badlogic.gdx.spriter.data SpriterCharacterMap SpriterCharacterMap

List of usage examples for com.badlogic.gdx.spriter.data SpriterCharacterMap SpriterCharacterMap

Introduction

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

Prototype

SpriterCharacterMap

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 {//from  w ww . j  av a 2s.  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());
}