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

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

Introduction

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

Prototype

MoveToAction

Source Link

Usage

From source file:actors.Archer.java

void assignMovement(float x, float y) {
    init = new MoveToAction();
    init.setPosition(x, y);/*from w  w w . j  ava2 s  . co  m*/

    ma1 = new MoveToAction();
    ma2 = new MoveToAction();
    ma3 = new MoveToAction();
    ma4 = new MoveToAction();
    ma5 = new MoveToAction();
    ma6 = new MoveToAction();
    ma7 = new MoveToAction();

    if (level == 1) {
        ms = new MoveToAction();
        ms.setPosition(100f, 375f);

        ma1.setPosition(315f, 375f);
        ma1.setDuration(((315 - 100) / velocity));

        ma2.setPosition(315f, 180f);
        ma2.setDuration((375 - 180) / velocity);

        ma3.setPosition(510f, 180f);
        ma3.setDuration((510 - 315) / velocity);

        ma4.setPosition(510f, 570f);
        ma4.setDuration((570 - 180) / velocity);

        ma5.setPosition(680f, 570f);
        ma5.setDuration((680 - 510) / velocity);

        ma6.setPosition(680f, 375f);
        ma6.setDuration((570 - 375) / velocity);

        ma7.setPosition(1000f, 375f);
        ma7.setDuration((1000 - 680) / velocity);

        SequenceAction sa1 = new SequenceAction(ms, ma1, ma2, ma3, ma4);
        SequenceAction sa2 = new SequenceAction(ma5, ma6, ma7);
        SequenceAction csa1 = new SequenceAction(sa1, sa2);

        if ((x == 100) && (y == 375))
            this.addAction(csa1);
        else if ((y == 375) && (x < 315)) {
            ma1.setDuration((315 - x) / velocity);
            SequenceAction sa3 = new SequenceAction(ma1, ma2, ma3, ma4);
            SequenceAction csa2 = new SequenceAction(init, sa3, sa2);
            this.addAction(csa2);
        } else if ((x == 315) && (y != 180)) {
            ma2.setDuration((y - 180) / velocity);
            SequenceAction sa4 = new SequenceAction(ma2, ma3, ma4);
            SequenceAction csa3 = new SequenceAction(init, sa4, sa2);
            this.addAction(csa3);
        } else if ((y == 180) && (x != 510)) {
            ma3.setDuration((510 - x) / velocity);
            SequenceAction sa5 = new SequenceAction(ma3, ma4, ma5, ma6, ma7);
            SequenceAction csa4 = new SequenceAction(init, sa5);
            this.addAction(csa4);
        } else if ((x == 510) && (y != 570)) {
            ma4.setDuration((570 - y) / velocity);
            SequenceAction sa6 = new SequenceAction(init, ma4, ma5, ma6, ma7);
            this.addAction(sa6);
        } else if ((y == 570) && (x != 680)) {
            ma5.setDuration((680 - x) / velocity);
            SequenceAction sa7 = new SequenceAction(init, ma5, ma6, ma7);
            this.addAction(sa7);
        } else if ((x == 680) && (y != 375)) {
            ma6.setDuration((y - 375) / velocity);
            SequenceAction sa8 = new SequenceAction(init, ma6, ma7);
            this.addAction(sa8);
        } else if ((y == 375) && (x > 315)) {
            ma7.setDuration((1000 - x) / velocity);
            SequenceAction sa9 = new SequenceAction(init, ma7);
            this.addAction(sa9);
        }
    }

    if (level == 2) {
        if (path == 1) {
            ma1.setPosition(225f, 460f);
            ma1.setDuration((225 - 100) / velocity);

            ma2.setPosition(225f, 590f);
            ma2.setDuration((590 - 460) / velocity);

            ma3.setPosition(350f, 590f);
            ma3.setDuration((350 - 225) / velocity);

            ma4.setPosition(350f, 640f);
            ma4.setDuration((640 - 590) / velocity);

            ma5.setPosition(550f, 640f);
            ma5.setDuration((550 - 350) / velocity);

            ma6.setPosition(550f, 550f);
            ma6.setDuration((640 - 550) / velocity);

            ma7.setPosition(1100f, 550f);
            ma7.setDuration((1100 - 550) / velocity);

            SequenceAction sa1, sa2;

            if (x == 100 && y == 460) {
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x > 100 && y == 460) {
                ma1.setDuration((225 - x) / velocity);
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 225 && y < 590) {
                ma2.setDuration((590 - y) / velocity);
                sa1 = new SequenceAction(init, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 350 && y == 590) {
                ma3.setDuration((350 - x) / velocity);
                sa1 = new SequenceAction(init, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 350 && y < 640) {
                ma4.setDuration((640 - y) / velocity);
                sa1 = new SequenceAction(init, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 550 && y == 640) {
                ma5.setDuration((550 - x) / velocity);
                sa2 = new SequenceAction(init, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 550 && y > 550) {
                ma6.setDuration((y - 550) / velocity);
                sa2 = new SequenceAction(init, ma6, ma7);
                addAction(sa2);
            } else if (x < 1100 && y == 550) {
                ma7.setDuration((1100 - x) / velocity);
                sa2 = new SequenceAction(init, ma7);
                addAction(sa2);
            }
        } else if (path == 2) {

            ma1.setPosition(225f, 435f);
            ma1.setDuration((225 - 100) / velocity);

            ma2.setPosition(225f, 310f);
            ma2.setDuration((435 - 310) / velocity);

            ma3.setPosition(350f, 310f);
            ma3.setDuration((350 - 225) / velocity);

            ma4.setPosition(350f, 250f);
            ma4.setDuration((310 - 250) / velocity);

            ma5.setPosition(550f, 250f);
            ma5.setDuration((550 - 350) / velocity);

            ma6.setPosition(550f, 350f);
            ma6.setDuration((350 - 250) / velocity);

            ma7.setPosition(1100f, 350f);
            ma7.setDuration((1100 - 550) / velocity);

            SequenceAction sa1, sa2;

            if (x == 100 && y == 435) {
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 225 && y == 435) {
                ma1.setDuration((225 - x) / velocity);
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 225 && y > 310) {
                ma2.setDuration((y - 310) / velocity);
                sa1 = new SequenceAction(init, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 350 && y == 310) {
                ma3.setDuration((350 - x) / velocity);
                sa1 = new SequenceAction(init, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 350 && y > 250) {
                ma4.setDuration((y - 250) / velocity);
                sa1 = new SequenceAction(init, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 550 && y == 250) {
                ma5.setDuration((550 - x) / velocity);
                sa2 = new SequenceAction(init, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 550 && y < 350) {
                ma6.setDuration((350 - y) / velocity);
                sa2 = new SequenceAction(init, ma6, ma7);
                addAction(sa2);
            } else if (x < 1100 && y == 350) {
                ma7.setDuration((1100 - x) / velocity);
                sa2 = new SequenceAction(init, ma7);
                addAction(sa2);
            }
        }
    }
}

From source file:actors.Arrow.java

public Arrow(float startX, float startY, float destX, float destY) {
    this.setName("arrow");
    texture = new Texture("arrow.png");
    sprite = new Sprite(texture);
    sprite.setScale(0.1f);//www  .j a  v a2  s.  com
    angle = (float) Math.toDegrees(atan((destY - startY) / (destX - startX)));
    System.out.println(String.valueOf(angle));
    sprite.setOriginCenter();
    sprite.rotate(angle + 270);
    //sprite.setRotation(angle);

    velocity = 300;

    init = new MoveToAction();
    init.setPosition(startX, startY);
    distSquared = ((startX - destX) * (startX - destX) + (startY - destY) * (startY - destY));

    shoot = new MoveToAction();
    shoot.setPosition(destX, destY);
    shoot.setDuration((float) (sqrt(distSquared) / velocity));

    moveOff = new MoveToAction();
    moveOff.setPosition(-100f, -100f);

    SequenceAction sa = new SequenceAction(init, shoot, moveOff);

    this.addAction(sa);
}

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;/* www.j  a  va 2  s .  c om*/
    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:actors.BasicSkel.java

public void assignMovement(float x, float y) {
    init = new MoveToAction();
    init.setPosition(x, y);//from  w  w w  .j  a va 2  s .c o m
    ma1 = new MoveToAction();
    ma2 = new MoveToAction();
    ma3 = new MoveToAction();
    ma4 = new MoveToAction();
    ma5 = new MoveToAction();
    ma6 = new MoveToAction();
    ma7 = new MoveToAction();

    if (level == 1) {
        ms = new MoveToAction();
        ms.setPosition(900f, 375f);

        ma1.setPosition(680f, 375f);
        ma1.setDuration((900 - 680) / velocity);

        ma2.setPosition(680f, 575f);
        ma2.setDuration((575 - 375) / velocity);

        ma3.setPosition(505f, 575f);
        ma3.setDuration((680 - 505) / velocity);

        ma4.setPosition(505f, 185f);
        ma4.setDuration((575 - 185) / velocity);

        ma5.setPosition(310f, 185f);
        ma5.setDuration((505 - 310) / velocity);

        ma6.setPosition(310f, 375f);
        ma6.setDuration((375 - 185) / velocity);

        ma7.setPosition(-100f, 375f);
        ma7.setDuration((310 + 40) / velocity);

        sa1 = new SequenceAction(ms, ma1, ma2, ma3, ma4);
        sa2 = new SequenceAction(ma5, ma6, ma7);
        sa3 = new SequenceAction(init, ma1, ma2, ma3, ma4);
        csa = new SequenceAction(sa1, sa2);

        if ((x == 900) && (y == 375))
            this.addAction(csa);
        else if ((y == 375) && (x > 680)) {
            ma1.setDuration((x - 680) / velocity);
            sa3 = new SequenceAction(init, ma1, ma2, ma3, ma4);
            SequenceAction csa1 = new SequenceAction(sa3, sa2);
            this.addAction(csa1);
        } else if ((x == 680) && (y != 575)) {
            ma2.setDuration((575 - y) / velocity);
            SequenceAction sa4 = new SequenceAction(init, ma2, ma3, ma4);
            SequenceAction csa4 = new SequenceAction(sa4, sa2);
            this.addAction(csa4);
        } else if ((y == 575) && (x != 505)) {
            ma3.setDuration((x - 505) / velocity);
            SequenceAction sa5 = new SequenceAction(ma3, ma4, ma5, ma6, ma7);
            SequenceAction csa5 = new SequenceAction(init, sa5);
            this.addAction(csa5);
        } else if ((x == 505) && (y != 185)) {
            ma4.setDuration((y - 185) / velocity);
            SequenceAction sa6 = new SequenceAction(init, ma4, ma5, ma6, ma7);
            this.addAction(sa6);
        } else if ((y == 185) && (x != 310)) {
            ma5.setDuration((x - 310) / velocity);
            SequenceAction sa7 = new SequenceAction(init, ma5, ma6, ma7);
            this.addAction(sa7);
        } else if ((x == 310) && (y != 375)) {
            ma6.setDuration((375 - y) / velocity);
            SequenceAction sa8 = new SequenceAction(init, ma6, ma7);
            this.addAction(sa8);
        } else if ((y == 375) && (x < 600)) {
            ma7.setDuration((x + 100) / velocity);
            SequenceAction sa9 = new SequenceAction(init, ma7);
            this.addAction(sa9);
        }
    }
    if (level == 2) {
        if (path == 1) {
            ma1.setPosition(550f, 550f);
            ma1.setDuration((900 - 550) / velocity);

            ma2.setPosition(550f, 640f);
            ma2.setDuration((640 - 550) / velocity);

            ma3.setPosition(350f, 640f);
            ma3.setDuration((550 - 350) / velocity);

            ma4.setPosition(350f, 590f);
            ma4.setDuration((650 - 590) / velocity);

            ma5.setPosition(225f, 590f);
            ma5.setDuration((350 - 225) / velocity);

            ma6.setPosition(225f, 460f);
            ma6.setDuration((590 - 460f) / velocity);

            ma7.setPosition(-100f, 460f);
            ma7.setDuration((225 + 100) / velocity);

            if (x == 900 && y == 550) {
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x < 900 && y == 550) {
                ma1.setDuration((x - 550) / velocity);
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x == 550 && y < 640) {
                ma2.setDuration((640 - y) / velocity);
                sa1 = new SequenceAction(init, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x < 550 && y == 640) {
                ma3.setDuration((x - 550) / velocity);
                sa1 = new SequenceAction(init, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x == 350 && y > 590) {
                ma4.setDuration((y - 590) / velocity);
                sa1 = new SequenceAction(init, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x > 225 && y == 590) {
                ma5.setDuration((x - 225) / velocity);
                sa2 = new SequenceAction(init, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x == 225 && y > 460) {
                ma6.setDuration((y - 460) / velocity);
                sa2 = new SequenceAction(init, ma6, ma7);
                addAction(sa2);
            }
            if (x > -100 && y == 460) {
                ma7.setDuration((x + 100) / velocity);
                sa2 = new SequenceAction(init, ma7);
                addAction(sa2);
            }
        }
        if (path == 2) {
            ma1.setPosition(550f, 350f);
            ma1.setDuration((900 - 550) / velocity);

            ma2.setPosition(550f, 250f);
            ma2.setDuration((350 - 250) / velocity);

            ma3.setPosition(350f, 250f);
            ma3.setDuration((550 - 350) / velocity);

            ma4.setPosition(350f, 310f);
            ma4.setDuration((310 - 250) / velocity);

            ma5.setPosition(225f, 310f);
            ma5.setDuration((350 - 225) / velocity);

            ma6.setPosition(225f, 435f);
            ma6.setDuration((435 - 310) / velocity);

            ma7.setPosition(-100f, 435f);
            ma7.setDuration((225 + 100) / velocity);

            if (x == 900 && y == 350) {
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x < 900 && y == 350) {
                ma1.setDuration((x - 550) / velocity);
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x == 550 && y > 250) {
                ma2.setDuration((y - 250) / velocity);
                sa1 = new SequenceAction(init, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x > 350 && y == 250) {
                ma3.setDuration((x - 350) / velocity);
                sa1 = new SequenceAction(init, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x == 350 && y < 310) {
                ma4.setDuration((310 - y) / velocity);
                sa1 = new SequenceAction(init, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x > 225 && y == 310) {
                ma5.setDuration((x - 225) / velocity);
                sa2 = new SequenceAction(init, ma5, ma6, ma7);
                addAction(sa2);
            }
            if (x == 225 && y < 435) {
                ma6.setDuration((435 - y) / velocity);
                sa2 = new SequenceAction(init, ma6, ma7);
                addAction(sa2);
            }
            if (x > -100 && y == 435) {
                ma7.setDuration((x + 100) / velocity);
                sa2 = new SequenceAction(init, ma7);
                addAction(sa2);
            }
        }
    }
}

From source file:actors.Castle.java

public Castle(float hlth, float damage, float x, float y, Stage stage) {
    this.setName("castle");
    texture = new Texture("castle.png");
    health = hlth;/*from w w w  .  jav a 2  s .co m*/
    arrowTimer = 3;

    sprite = new Sprite(texture);
    setBounds(sprite.getX(), sprite.getY(), sprite.getWidth(), sprite.getHeight());

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

    velocity = 70;

    ms = new MoveToAction();
    ms.setPosition(x, y);
    //        ms.setPosition(35f,370f);

    Castle.this.addAction(ms);

}

From source file:actors.Fireball.java

public Fireball(float startX, float startY, float destX, float destY) {
    this.setName("fireball");
    texture = new Texture("firearrow.png");
    sprite = new Sprite(texture);
    sprite.setScale(0.5f);//from w  w  w.j  a v a 2  s  .  c  o  m
    angle = (float) Math.toDegrees(atan((destY - startY) / (destX - startX)));
    System.out.println(String.valueOf(angle));
    sprite.setOriginCenter();
    sprite.rotate(angle + 270);
    //sprite.setRotation(angle);

    velocity = 500;

    init = new MoveToAction();
    init.setPosition(startX, startY);
    distSquared = ((startX - destX) * (startX - destX) + (startY - destY) * (startY - destY));

    shoot = new MoveToAction();
    shoot.setPosition(destX, destY);
    shoot.setDuration((float) (sqrt(distSquared) / velocity));

    moveOff = new MoveToAction();
    moveOff.setPosition(-100f, -100f);

    SequenceAction sa = new SequenceAction(init, shoot, moveOff);

    this.addAction(sa);
}

From source file:actors.Footman.java

public void assignMovement(float x, float y) {
    init = new MoveToAction();
    init.setPosition(x, y);/*  w  w  w .ja va  2  s.  c  o  m*/

    ma1 = new MoveToAction();
    ma2 = new MoveToAction();
    ma3 = new MoveToAction();
    ma4 = new MoveToAction();
    ma5 = new MoveToAction();
    ma6 = new MoveToAction();
    ma7 = new MoveToAction();

    if (level == 1) {
        ms = new MoveToAction();
        ms.setPosition(100f, 375f);

        ma1.setPosition(315f, 375f);
        ma1.setDuration(((315 - 100) / velocity));

        ma2.setPosition(315f, 180f);
        ma2.setDuration((375 - 180) / velocity);

        ma3.setPosition(510f, 180f);
        ma3.setDuration((510 - 315) / velocity);

        ma4.setPosition(510f, 570f);
        ma4.setDuration((570 - 180) / velocity);

        ma5.setPosition(680f, 570f);
        ma5.setDuration((680 - 510) / velocity);

        ma6.setPosition(680f, 375f);
        ma6.setDuration((570 - 375) / velocity);

        ma7.setPosition(1000f, 375f);
        ma7.setDuration((1000 - 680) / velocity);

        SequenceAction sa1 = new SequenceAction(ms, ma1, ma2, ma3, ma4);
        SequenceAction sa2 = new SequenceAction(ma5, ma6, ma7);
        SequenceAction csa1 = new SequenceAction(sa1, sa2);

        if ((x == 100) && (y == 375))
            this.addAction(csa1);
        else if ((y == 375) && (x < 315)) {
            ma1.setDuration((315 - x) / velocity);
            SequenceAction sa3 = new SequenceAction(ma1, ma2, ma3, ma4);
            SequenceAction csa2 = new SequenceAction(init, sa3, sa2);
            this.addAction(csa2);
        } else if ((x == 315) && (y != 180)) {
            ma2.setDuration((y - 180) / velocity);
            SequenceAction sa4 = new SequenceAction(ma2, ma3, ma4);
            SequenceAction csa3 = new SequenceAction(init, sa4, sa2);
            this.addAction(csa3);
        } else if ((y == 180) && (x != 510)) {
            ma3.setDuration((510 - x) / velocity);
            SequenceAction sa5 = new SequenceAction(ma3, ma4, ma5, ma6, ma7);
            SequenceAction csa4 = new SequenceAction(init, sa5);
            this.addAction(csa4);
        } else if ((x == 510) && (y != 570)) {
            ma4.setDuration((570 - y) / velocity);
            SequenceAction sa6 = new SequenceAction(init, ma4, ma5, ma6, ma7);
            this.addAction(sa6);
        } else if ((y == 570) && (x != 680)) {
            ma5.setDuration((680 - x) / velocity);
            SequenceAction sa7 = new SequenceAction(init, ma5, ma6, ma7);
            this.addAction(sa7);
        } else if ((x == 680) && (y != 375)) {
            ma6.setDuration((y - 375) / velocity);
            SequenceAction sa8 = new SequenceAction(init, ma6, ma7);
            this.addAction(sa8);
        } else if ((y == 375) && (x > 315)) {
            ma7.setDuration((1000 - x) / velocity);
            SequenceAction sa9 = new SequenceAction(init, ma7);
            this.addAction(sa9);
        }
    }

    if (level == 2) {
        if (path == 1) {
            ma1.setPosition(225f, 460f);
            ma1.setDuration((225 - 100) / velocity);

            ma2.setPosition(225f, 590f);
            ma2.setDuration((590 - 460) / velocity);

            ma3.setPosition(350f, 590f);
            ma3.setDuration((350 - 225) / velocity);

            ma4.setPosition(350f, 640f);
            ma4.setDuration((640 - 590) / velocity);

            ma5.setPosition(550f, 640f);
            ma5.setDuration((550 - 350) / velocity);

            ma6.setPosition(550f, 550f);
            ma6.setDuration((640 - 550) / velocity);

            ma7.setPosition(1100f, 550f);
            ma7.setDuration((1100 - 550) / velocity);

            SequenceAction sa1, sa2;

            if (x == 100 && y == 460) {
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x > 100 && y == 460) {
                ma1.setDuration((225 - x) / velocity);
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 225 && y < 590) {
                ma2.setDuration((590 - y) / velocity);
                sa1 = new SequenceAction(init, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 350 && y == 590) {
                ma3.setDuration((350 - x) / velocity);
                sa1 = new SequenceAction(init, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 350 && y < 640) {
                ma4.setDuration((640 - y) / velocity);
                sa1 = new SequenceAction(init, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 550 && y == 640) {
                ma5.setDuration((550 - x) / velocity);
                sa2 = new SequenceAction(init, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 550 && y > 550) {
                ma6.setDuration((y - 550) / velocity);
                sa2 = new SequenceAction(init, ma6, ma7);
                addAction(sa2);
            } else if (x < 1100 && y == 550) {
                ma7.setDuration((1100 - x) / velocity);
                sa2 = new SequenceAction(init, ma7);
                addAction(sa2);
            }
        } else if (path == 2) {

            ma1.setPosition(225f, 435f);
            ma1.setDuration((225 - 100) / velocity);

            ma2.setPosition(225f, 310f);
            ma2.setDuration((435 - 310) / velocity);

            ma3.setPosition(350f, 310f);
            ma3.setDuration((350 - 225) / velocity);

            ma4.setPosition(350f, 250f);
            ma4.setDuration((310 - 250) / velocity);

            ma5.setPosition(550f, 250f);
            ma5.setDuration((550 - 350) / velocity);

            ma6.setPosition(550f, 350f);
            ma6.setDuration((350 - 250) / velocity);

            ma7.setPosition(1100f, 350f);
            ma7.setDuration((1100 - 550) / velocity);

            SequenceAction sa1, sa2;

            if (x == 100 && y == 435) {
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 225 && y == 435) {
                ma1.setDuration((225 - x) / velocity);
                sa1 = new SequenceAction(init, ma1, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 225 && y > 310) {
                ma2.setDuration((y - 310) / velocity);
                sa1 = new SequenceAction(init, ma2, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 350 && y == 310) {
                ma3.setDuration((350 - x) / velocity);
                sa1 = new SequenceAction(init, ma3, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 350 && y > 250) {
                ma4.setDuration((y - 250) / velocity);
                sa1 = new SequenceAction(init, ma4);
                sa2 = new SequenceAction(sa1, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x < 550 && y == 250) {
                ma5.setDuration((550 - x) / velocity);
                sa2 = new SequenceAction(init, ma5, ma6, ma7);
                addAction(sa2);
            } else if (x == 550 && y < 350) {
                ma6.setDuration((350 - y) / velocity);
                sa2 = new SequenceAction(init, ma6, ma7);
                addAction(sa2);
            } else if (x < 1100 && y == 350) {
                ma7.setDuration((1100 - x) / velocity);
                sa2 = new SequenceAction(init, ma7);
                addAction(sa2);
            }
        }
    }
}

From source file:actors.IceBolt.java

public IceBolt(float startX, float startY, float destX, float destY) {
    this.setName("icebolt");
    texture = new Texture("icearrow.png");
    sprite = new Sprite(texture);
    sprite.setScale(0.5f);//  w  w w. j av  a2 s  . co m
    angle = (float) Math.toDegrees(atan((destY - startY) / (destX - startX)));
    System.out.println(String.valueOf(angle));
    sprite.setOriginCenter();
    sprite.rotate(angle + 270);
    //sprite.setRotation(angle);

    velocity = 500;

    init = new MoveToAction();
    init.setPosition(startX, startY);
    distSquared = ((startX - destX) * (startX - destX) + (startY - destY) * (startY - destY));

    shoot = new MoveToAction();
    shoot.setPosition(destX, destY);
    shoot.setDuration((float) (sqrt(distSquared) / velocity));

    moveOff = new MoveToAction();
    moveOff.setPosition(-100f, -100f);

    SequenceAction sa = new SequenceAction(init, shoot, moveOff);

    this.addAction(sa);
}

From source file:actors.Necromancer.java

public Necromancer(float hlth, float damage, float x, float y, Stage stage) {
    this.setName("necromancer");
    texture = new Texture("necromancer.png");
    sprite = new Sprite(texture);
    setBounds(sprite.getX(), sprite.getY(), sprite.getWidth(), sprite.getHeight());
    health = hlth;//from w ww . ja v  a 2 s  .co m
    attackTimer = 2;

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

    ms = new MoveToAction();
    ms.setPosition(x, y);
    //        ms.setPosition(940f,375f);

    Necromancer.this.addAction(ms);
    /*      
          int len = stage.size;
          for(i=0; i<len; i++){
          Actor a = stageActors.get(i);
          if(a.getName().equals("myactor")){
          //a is your Actor!
          break;
      */
}

From source file:actors.NecromancerAttack.java

public NecromancerAttack(float startX, float startY, float destX, float destY) {
    this.setName("necromancerbolt");
    texture = new Texture("deathbolt.png");
    sprite = new Sprite(texture);
    sprite.setScale(0.5f);/*from  w w w  . j a v  a 2s . co  m*/
    angle = (float) Math.toDegrees(atan((destY - startY) / (destX - startX)));
    System.out.println(String.valueOf(angle));
    sprite.setOriginCenter();
    sprite.rotate(angle + 270);
    //sprite.setRotation(angle);

    velocity = 500;

    init = new MoveToAction();
    init.setPosition(startX, startY);
    distSquared = ((startX - destX) * (startX - destX) + (startY - destY) * (startY - destY));

    shoot = new MoveToAction();
    shoot.setPosition(destX, destY);
    shoot.setDuration((float) (sqrt(distSquared) / velocity));

    moveOff = new MoveToAction();
    moveOff.setPosition(-100f, -100f);

    SequenceAction sa = new SequenceAction(init, shoot, moveOff);

    this.addAction(sa);
}