List of usage examples for com.badlogic.gdx.scenes.scene2d.actions ParallelAction ParallelAction
public ParallelAction()
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)); }