Example usage for com.badlogic.gdx.scenes.scene2d.actions ParallelAction ParallelAction

List of usage examples for com.badlogic.gdx.scenes.scene2d.actions ParallelAction ParallelAction

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.actions ParallelAction ParallelAction.

Prototype

public ParallelAction() 

Source Link

Usage

From source file:com.prisonbreak.game.screens.GameScreen.java

public GameScreen(Game aGame) {
    game = aGame;// w w  w  .java 2  s. c  om

    // import tiledMap
    map = new TmxMapLoader().load("tiledmap/map.tmx");
    mapRenderer = new MapControlRenderer(map); // create map-control renderer
    mapRenderer.setView(mapRenderer.getCamera()); // set camera using with the renderer

    // create new stage
    stage = new Stage(new ScreenViewport());

    // create label for displaying message, initialize to winning message
    label = new Label("CONGRATULATIONS\nYOU HAVE ESCAPED THE PRISON\nPress ESC to return to the Main Menu",
            PrisonBreakGame.gameSkin, "title-plain");
    label.setColor(Color.RED);
    label.setPosition(0, 0);
    label.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    label.setAlignment(Align.center);

    // create a Group container that contains the label and perform some actions
    labelContainer = new Group();
    labelContainer.addActor(label);
    labelContainer.setOrigin(label.getWidth() / 2, label.getHeight() / 2);
    stage.addActor(labelContainer);

    // initalize actions for winning state
    labelContainer.setScale(0);

    ParallelAction parallelAction = new ParallelAction();
    parallelAction.addAction(Actions.rotateBy(360, 2, Interpolation.smooth));
    parallelAction.addAction(Actions.scaleBy((float) 2, (float) 2, 3, Interpolation.smooth));
    parallelAction.addAction(Actions.fadeIn(1));

    labelContainer.addAction(parallelAction); // add actions to container

    executorService = Executors.newSingleThreadScheduledExecutor();
}

From source file:es.eucm.ead.engine.effects.TransformEngineObject.java

License:Open Source License

@Override
public void initialize(Transform schemaObject) {
    action = new ParallelAction();
    action.setActor(actor);/* w  w  w.  j  a  va 2s  .  c o  m*/
    float duration = Math.max(0, schemaObject.getDuration());
    boolean relative = schemaObject.isRelative();
    Transformation t = schemaObject.getTransformation();
    float x = t.getX();
    float y = t.getY();
    float rot = t.getRotation();
    float sx = t.getScaleX();
    float sy = t.getScaleY();
    addAction(relative ? Actions.moveBy(x, y, duration) : Actions.moveTo(x, y, duration));
    addAction(relative ? Actions.rotateBy(rot, duration) : Actions.rotateTo(rot, duration));
    addAction(relative ? Actions.scaleBy(sx, sy, duration) : Actions.scaleTo(sx, sy, duration));

    es.eucm.ead.schema.components.Color c = t.getColor();
    Color color = actor.getColor();
    if (c != null) {
        float r = (relative ? color.r + c.getR() : c.getR());
        float g = (relative ? color.g + c.getG() : c.getG());
        float b = (relative ? color.b + c.getB() : c.getB());
        float a = (relative ? color.a + c.getA() : c.getA());
        addAction(Actions.color(new Color(r, g, b, a).clamp(), duration));
    }
}

From source file:net.mwplay.cocostudio.ui.BaseWidgetParser.java

License:Apache License

private void parseAction(final Actor actor, final ObjectData widget) {
    CCTimelineActionData ccTimelineActionData = editor.export.getContent().getContent().getAnimation();
    float duration = ccTimelineActionData.getDuration();
    float speed = ccTimelineActionData.getSpeed();

    List<CCTimelineData> ccTimelineDatas = ccTimelineActionData.getTimelines();

    ParallelAction parallelAction = new ParallelAction();

    for (CCTimelineData ccTimelineData : ccTimelineDatas) {
        if (ccTimelineData.getActionTag() == widget.getActionTag()) {

            List<CCTimelineFrame> ccTimelineFrames = ccTimelineData.getFrames();

            //? MoveTo
            if (ccTimelineData.getProperty().equals("Position")) {
                SequenceAction sequenceAction = Actions.sequence();

                for (CCTimelineFrame ccTimelineFrame : ccTimelineFrames) {
                    Action moveTo = null;
                    //??
                    if (null == ccTimelineFrame.getEasingData()) {
                        moveTo = Actions.moveTo(ccTimelineFrame.getX() - actor.getWidth() / 2,
                                ccTimelineFrame.getY() - actor.getHeight() / 2,
                                speed / duration * ccTimelineFrame.getFrameIndex());
                    } else {//?
                        moveTo = Actions.moveTo(ccTimelineFrame.getX() - actor.getWidth() / 2,
                                ccTimelineFrame.getY() - actor.getHeight() / 2,
                                speed / duration * ccTimelineFrame.getFrameIndex(),
                                editor.getInterpolation(ccTimelineFrame.getEasingData().getType()));
                    }//  www .  jav a  2 s  .co  m

                    sequenceAction.addAction(moveTo);
                }

                parallelAction.addAction(sequenceAction);
            } else if (ccTimelineData.getProperty().equals("FileData")) {
                SequenceAction sequenceAction = Actions.sequence();
                for (CCTimelineFrame ccTimelineFrame : ccTimelineFrames) {
                    final CCTimelineFrame temp = ccTimelineFrame;

                    Action action = Actions.delay(speed / duration * ccTimelineFrame.getFrameIndex(),
                            Actions.run(new Runnable() {
                                @Override
                                public void run() {
                                    ((Image) actor)
                                            .setDrawable(editor.findDrawable(widget, temp.getTextureFile()));
                                }
                            }));

                    sequenceAction.addAction(action);
                }

                parallelAction.addAction(sequenceAction);
            } else if (ccTimelineData.getProperty().equals("Scale")) {
                SequenceAction sequenceAction = Actions.sequence();

                for (CCTimelineFrame ccTimelineFrame : ccTimelineFrames) {
                    Action scaleTo = null;
                    if (ccTimelineFrame.getEasingData() != null) {
                        scaleTo = Actions.scaleTo(ccTimelineFrame.getX(), ccTimelineFrame.getY(),
                                speed / duration * ccTimelineFrame.getFrameIndex(),
                                editor.getInterpolation(ccTimelineFrame.getEasingData().getType()));
                    } else {
                        scaleTo = Actions.scaleTo(ccTimelineFrame.getX(), ccTimelineFrame.getY(),
                                speed / duration * ccTimelineFrame.getFrameIndex());
                    }

                    sequenceAction.addAction(scaleTo);
                }

                parallelAction.addAction(sequenceAction);
            } else if (ccTimelineData.getProperty().equals("RotationSkew")) {
                SequenceAction sequenceAction = Actions.sequence();
                for (CCTimelineFrame ccTimelineFrame : ccTimelineFrames) {
                    Action rotation = null;
                    float angle = new Vector2(ccTimelineFrame.getX(), ccTimelineFrame.getY()).angle();
                    if (ccTimelineFrame.getEasingData() != null) {
                        rotation = Actions.rotateTo(angle, speed / duration * ccTimelineFrame.getFrameIndex(),
                                editor.getInterpolation(ccTimelineFrame.getEasingData().getType()));
                    } else {
                        rotation = Actions.rotateTo(angle, speed / duration * ccTimelineFrame.getFrameIndex());
                    }

                    sequenceAction.addAction(rotation);
                }

                parallelAction.addAction(sequenceAction);
            } else if (ccTimelineData.getProperty().equals("VisibleForFrame")) {
                SequenceAction sequenceAction = Actions.sequence();
                for (CCTimelineFrame ccTimelineFrame : ccTimelineFrames) {
                    Action alpha = null;
                    float alphaValue = 0;
                    //
                    if (ccTimelineFrame.isValue()) {
                        alphaValue = 1;
                    }

                    if (ccTimelineFrame.getEasingData() != null) {
                        alpha = Actions.alpha(alphaValue, speed / duration * ccTimelineFrame.getFrameIndex(),
                                editor.getInterpolation(ccTimelineFrame.getEasingData().getType()));
                    } else {
                        alpha = Actions.alpha(alphaValue, speed / duration * ccTimelineFrame.getFrameIndex());
                    }

                    sequenceAction.addAction(alpha);
                }

                parallelAction.addAction(sequenceAction);
            }
        }
    }

    editor.actorActionMap.put(actor, parallelAction);
    actor.addAction(Actions.forever(parallelAction));
}