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

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

Introduction

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

Prototype

public SequenceAction(Action action1, Action action2) 

Source Link

Usage

From source file:actors.BasicSkel.java

public BasicSkel(float hlth, float dmg, float x, float y, int lvl, int pth, Stage stg, PlayScreen scrn) {

    this.setName("skeleton");
    level = lvl;/*from   w  w w .j av a  2s.c  o  m*/
    path = pth;
    stage = stg;
    screen = scrn;
    health = hlth;
    damage = dmg;
    slowTimer = -1;
    slowed = false;
    reset = false;
    poisoned = false;
    notmoving = false;
    if (damage < 220)
        texture = new Texture("skelsword1.png");
    if (damage < 240 && damage >= 220)
        texture = new Texture("skelsword2.png");
    if (damage >= 240)
        texture = new Texture("skelsword3.png");
    sprite = new Sprite(texture);
    sprite.setScale(0.65f);
    setBounds(sprite.getX(), sprite.getY(), sprite.getWidth(), sprite.getHeight());

    fireEffect = new ParticleEffect();
    fireEffect.load(Gdx.files.internal("fire"), Gdx.files.internal(""));
    fireEffect.getEmitters().first().setPosition(getX(), getY());
    fireballSound = Gdx.audio.newSound(Gdx.files.internal("fireball.wav"));

    iceEffect = new ParticleEffect();
    iceEffect.load(Gdx.files.internal("ice"), Gdx.files.internal(""));
    iceEffect.getEmitters().first().setPosition(getX(), getY());

    poisonEffect = new ParticleEffect();
    poisonEffect.load(Gdx.files.internal("poison"), Gdx.files.internal(""));
    poisonEffect.getEmitters().first().setPosition(getX(), getY());

    emptyHealthBar = new Sprite(new Texture("emptyBar.png"));
    fullHealthBar = new Sprite(new Texture("fullBar.png"));

    ColorAction red = new ColorAction();
    red.setEndColor(Color.RED);
    red.setDuration(1f);
    MoveToAction moveOff = new MoveToAction();
    moveOff.setPosition(-100, -100);
    kill = new SequenceAction(red, moveOff);

    this.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (health != 100000 && abs(screen.player.getX() - getX()) < screen.playerRange
                    && abs(screen.player.getY() - getY()) < screen.playerRange) {
                if (screen.playerSpell == 1) {
                    health -= screen.playerDamage;
                    stage.addActor(
                            new Fireball(screen.player.getX(), screen.player.getY(), getX() + 16, getY() + 16));
                    fireballSound.play(0.8f);
                    fireEffect.start();
                }
                if (screen.playerSpell == 2) {
                    health -= screen.playerDamage * 0.75;
                    stage.addActor(
                            new IceBolt(screen.player.getX(), screen.player.getY(), getX() + 16, getY() + 16));
                    fireballSound.play(0.8f);
                    iceEffect.start();
                    slowTimer = 3;
                    if (health >= 0)
                        slowed = true;
                }
                if (screen.playerSpell == 3) {
                    poisoned = true;
                    stage.addActor(
                            new IceBolt(screen.player.getX(), screen.player.getY(), getX() + 16, getY() + 16));
                    fireballSound.play(0.8f);
                    poisonEffect.start();
                }

            }
            if (health <= 0) {
                poisoned = false;
                setName("dead");
                health = 100000;
                clearActions();
                addAction(kill);
                screen.skeletonDeath.play(1.0f);
                screen.addGold(5);
            }
        }
    });

    velocity = 70;
    //Rectangle body = new Rectangle(getX(), getY(), getWidth(), getHeight());
    //ScaleByAction sba = new ScaleByAction();
    //sba.setAmount(0.25f);

    assignMovement(x, y);

}

From source file:com.jmolina.orb.elements.Heater.java

License:Open Source License

/**
 * Devuelve una animacion de parpadeo/*from ww w  .ja v a  2  s .co  m*/
 */
private Action blinkAction() {
    RepeatAction forever = new RepeatAction();
    forever.setCount(RepeatAction.FOREVER);
    forever.setAction(new SequenceAction(alpha(1, BLINK_HALF_TIME, Interpolation.pow2),
            alpha(0.4f, BLINK_HALF_TIME, Interpolation.pow2)));

    return forever;
}

From source file:com.jmolina.orb.screens.BaseScreen.java

License:Open Source License

/**
 * Devuelve una accion de reseteo de escala y canal alpha
 */
private Action resetAction() {
    return new SequenceAction(alpha(1f), scaleTo(1f, 1f));
}

From source file:com.jmolina.orb.widgets.game.RadialField.java

License:Open Source License

@Override
protected Action getAttraction() {
    RepeatAction forever = new RepeatAction();
    forever.setCount(RepeatAction.FOREVER);
    forever.setAction(new SequenceAction(parallel(scaleTo(1, 1), alpha(0)), parallel(
            scaleTo(0, 0, PERIOD, Interpolation.pow2In), alpha(MAX_ALPHA, PERIOD, Interpolation.pow2In))));

    return forever;
}

From source file:com.jmolina.orb.widgets.game.RadialField.java

License:Open Source License

@Override
protected Action getRepulsion() {
    RepeatAction forever = new RepeatAction();
    forever.setCount(RepeatAction.FOREVER);
    forever.setAction(new SequenceAction(parallel(scaleTo(0, 0), alpha(MAX_ALPHA)),
            parallel(scaleTo(1, 1, PERIOD, Interpolation.pow2Out), alpha(0, PERIOD, Interpolation.pow2Out))));

    return forever;
}

From source file:com.ray3k.libraryinvaders.states.MenuState.java

License:Open Source License

private void showCharacterDialog() {
    Dialog dialog = new Dialog("", skin);

    Label label = new Label("Choose a character...", skin);
    dialog.getContentTable().add(label);

    dialog.getContentTable().row();//from w  ww.  j  a va2s. c o m
    Table table = new Table();
    ScrollPane scrollPane = new ScrollPane(table, skin);
    scrollPane.setFadeScrollBars(false);
    dialog.getContentTable().add(scrollPane).grow();

    final ButtonGroup<ImageTextButton> buttons = new ButtonGroup<ImageTextButton>();
    for (String name : getCore().getImagePacks().get(DATA_PATH + "/characters")) {
        Drawable drawable = new TextureRegionDrawable(getCore().getAtlas().findRegion(name));
        Image image = new Image(drawable);
        ImageTextButton imageTextButton = new ImageTextButton(name, skin, "list");
        imageTextButton.getImageCell().setActor(image);
        imageTextButton.getLabelCell().left().expandX();
        table.add(imageTextButton).growX();
        buttons.add(imageTextButton);

        table.row();
    }

    dialog.getContentTable().row();
    TextButton textButton = new TextButton("OK", skin);
    dialog.getContentTable().add(textButton);

    textButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            getCore().getAssetManager().get(Core.DATA_PATH + "/sfx/menu.wav", Sound.class).play();
            ((GameState) getCore().getStateManager().getState("game"))
                    .setSelectedCharacter(buttons.getChecked().getText().toString());

            Gdx.input.setInputProcessor(null);
            Action changeStateAction = new Action() {
                @Override
                public boolean act(float delta) {
                    getCore().getStateManager().loadState("game");
                    return true;
                }
            };
            root.addAction(new SequenceAction(new DelayAction(.5f), changeStateAction));
        }
    });

    dialog.show(stage);
    dialog.setSize(600.0f, 500.0f);
    dialog.setPosition(stage.getWidth() / 2.0f, stage.getHeight() / 2.0f, Align.center);
    stage.setScrollFocus(scrollPane);
}

From source file:com.ray3k.skincomposer.dialog.DialogLoading.java

License:Open Source License

@Override
public Dialog show(Stage stage) {
    Dialog dialog = super.show(stage);
    RunnableAction runnableAction = new RunnableAction();
    runnableAction.setRunnable(() -> {
        if (runnable != null) {
            runnable.run();//from  w  ww . j a va  2s .  co  m
        }
        hide();
    });
    Action action = new SequenceAction(new DelayAction(.5f), runnableAction);
    addAction(action);

    return dialog;
}

From source file:com.ray3k.skincomposer.MenuList.java

License:Open Source License

public void hide() {
    //fade out and then remove
    clearActions();/*from www .jav  a 2s .  c  om*/
    AlphaAction alphaAction = new AlphaAction();
    alphaAction.setAlpha(0.0f);
    alphaAction.setDuration(.3f);
    alphaAction.setInterpolation(Interpolation.fade);
    RemoveActorAction removeAction = new RemoveActorAction();
    removeAction.setActor(this);
    SequenceAction sequenceAction = new SequenceAction(alphaAction, removeAction);
    addAction(sequenceAction);
}

From source file:com.ray3k.skincomposer.RootTable.java

License:Open Source License

public void refreshStyleProperties(boolean preserveScroll) {
    if (stylePropertiesTable != null && stylePropertiesScrollPane != null) {
        float scrollY;
        if (preserveScroll) {
            scrollY = stylePropertiesScrollPane.getScrollY();
        } else {//from  ww  w.j  a  v  a2 s  . c o  m
            scrollY = 0;
        }

        stylePropertiesTable.clearChildren();
        addStyleProperties(stylePropertiesTable);

        if (preserveScroll) {
            validate();
            stylePropertiesScrollPane.setSmoothScrolling(false);
            stylePropertiesScrollPane.setScrollY(scrollY);
            stylePropertiesScrollPane.addAction(new SequenceAction(new DelayAction(.1f), new Action() {
                @Override
                public boolean act(float delta) {
                    stylePropertiesScrollPane.setSmoothScrolling(true);
                    return true;
                }
            }));
        }
    }
}

From source file:es.eucm.ead.editor.view.builders.scene.groupeditor.GroupEditor.java

License:Open Source License

/**
 * Sets the root group in its initial position, fitting the view
 *//*from w  ww  .j  a va2s .c  om*/
public void fit(boolean animated) {
    if (animated) {
        sceneContainer.addAction(new SequenceAction(
                new ParallelAction(Actions.moveTo(0, 0, TIME, Interpolation.exp5Out),
                        Actions.scaleTo(fitZoom, fitZoom, TIME, Interpolation.exp5Out)),
                Actions.run(containerUpdated)));
    } else {
        sceneContainer.setPosition(0.0f, 0.0f);
        sceneContainer.setScale(fitZoom, fitZoom);
        fireContainerUpdated();
    }
}