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

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

Introduction

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

Prototype

public void addAction(Action action) 

Source Link

Usage

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

public GameScreen(Game aGame) {
    game = aGame;/*w  w  w  .  ja v a  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:hku.fyp14017.blencode.content.Sprite.java

License:Open Source License

public void createWhenScriptActionSequence(String action) {
    ParallelAction whenParallelAction = ExtendedActions.parallel();
    for (Script s : scriptList) {
        if (s instanceof WhenScript) {
            Log.d("dev", "scriptAction = " + ((WhenScript) s).getAction() + " action = " + action);
            if ((((WhenScript) s).getAction().equals(action))) {
                Log.d("dev", "entered?");
                SequenceAction sequence = createActionSequence(s);
                whenParallelAction.addAction(sequence);
            }/*  ww w.ja v  a  2  s.  co  m*/
        }
    }
    //look.setWhenParallelAction(whenParallelAction);
    look.addWhenActionToMap(action, whenParallelAction);
    look.addAction(whenParallelAction);
}

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()));
                    }/*  w ww  .  j  a  v a  2s  . c  o 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));
}

From source file:org.catrobat.catroid.content.Sprite.java

License:Open Source License

public void createWhenScriptActionSequence(String action) {
    ParallelAction whenParallelAction = actionFactory.parallel();
    for (Script s : scriptList) {
        if (s instanceof WhenScript && (((WhenScript) s).getAction().equalsIgnoreCase(action))) {
            SequenceAction sequence = createActionSequence(s);
            whenParallelAction.addAction(sequence);
        }/*from  w w w.j  ava 2 s . c om*/
    }
    look.setWhenParallelAction(whenParallelAction);
    look.addAction(whenParallelAction);
}

From source file:org.catrobat.catroid.content.Sprite.java

License:Open Source License

public void createWhenNfcScriptAction(String uid) {
    ParallelAction whenParallelAction = ActionFactory.parallel();
    for (Script s : scriptList) {
        if (s instanceof WhenNfcScript) {
            WhenNfcScript whenNfcScript = (WhenNfcScript) s;
            if (whenNfcScript.isMatchAll() || whenNfcScript.getNfcTag().getNfcTagUid().equals(uid)) {
                SequenceAction sequence = createActionSequence(s);
                whenParallelAction.addAction(sequence);
            }/* w  ww.j av  a  2 s. co m*/
        }
    }
    //TODO: quick fix for faulty behaviour - nfc action triggers again after touchevents
    //look.setWhenParallelAction(whenParallelAction);
    look.addAction(whenParallelAction);
}

From source file:org.catrobat.catroid.content.Sprite.java

License:Open Source License

public void createTouchDownAction() {
    ParallelAction whenParallelAction = ActionFactory.parallel();
    for (Script s : scriptList) {
        if (s instanceof WhenTouchDownScript) {
            SequenceAction sequence = createActionSequence(s);
            whenParallelAction.addAction(sequence);
        }//ww w.  j  a  v  a 2s .  co  m
    }
    look.addAction(whenParallelAction);
}

From source file:org.catrobat.catroid.content.Sprite.java

License:Open Source License

public ParallelAction createBackgroundChangedAction(LookData lookData) {
    ParallelAction whenParallelAction = ActionFactory.parallel();
    for (Script s : scriptList) {
        if (s instanceof WhenBackgroundChangesScript
                && ((WhenBackgroundChangesScript) s).getLook().equals(lookData)) {
            SequenceAction sequence = createActionSequence(s);
            SequenceAction sequenceWithNotifyAtEnd = ActionFactory.sequence(sequence,
                    ActionFactory.createBackgroundNotifyAction(lookData));
            whenParallelAction.addAction(sequenceWithNotifyAtEnd);
        }//from  w  w  w  .  ja v a2  s  .c o m
    }
    look.addAction(whenParallelAction);

    return whenParallelAction;
}

From source file:org.catrobat.catroid.content.Sprite.java

License:Open Source License

public void createWhenClonedAction() {
    ParallelAction whenParallelAction = ActionFactory.parallel();
    for (Script s : scriptList) {
        if (s instanceof WhenClonedScript) {
            SequenceAction sequence = createActionSequence(s);
            whenParallelAction.addAction(sequence);
        }/*from w w w. jav a 2 s  .  co m*/
    }
    look.addAction(whenParallelAction);
}