summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java56
1 files changed, 33 insertions, 23 deletions
diff --git a/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java b/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java
index 1d913c6..8deefa5 100644
--- a/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java
+++ b/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java
@@ -20,7 +20,7 @@ import ch.asynk.gdx.boardgame.animations.BounceAnimation;
import ch.asynk.gdx.boardgame.animations.DelayAnimation;
import ch.asynk.gdx.boardgame.animations.FadeAnimation;
import ch.asynk.gdx.boardgame.animations.MoveAnimation;
-import ch.asynk.gdx.boardgame.animations.ShellFireAnimation;
+import ch.asynk.gdx.boardgame.animations.FireAnimation;
public class AnimationsScreen extends AbstractScreen
{
@@ -28,6 +28,7 @@ public class AnimationsScreen extends AbstractScreen
private final Piece panzer;
private final Piece other0;
private final Piece other1;
+ private final Piece other2;
private final Dice dice;
private final Camera cam;
private final Board board;
@@ -42,11 +43,10 @@ public class AnimationsScreen extends AbstractScreen
this.board = BoardFactory.getBoard(BoardFactory.BoardType.HEX, 110, 50, 103, BoardFactory.BoardOrientation.VERTICAL);
this.camera = this.cam = new Camera(10, map.getWidth(), map.getHeight(), 1.0f, 0.3f, false);
- this.panzer = getPiece(app, 7, 4, Orientation.NW);
- this.other0 = getPiece(app, 9, 5, Orientation.SW);
- this.other1 = getPiece(app, 3, 1, Orientation.NE);
- this.other0.setAlpha(0f);
- this.other1.setAlpha(0f);
+ this.panzer = getPiece(app, 7, 4, Orientation.NW, app.assets.PANZER, 1f);
+ this.other0 = getPiece(app, 9, 5, Orientation.SW, app.assets.PANZER, 0f);
+ this.other1 = getPiece(app, 3, 1, Orientation.NE, app.assets.PANZER, 0f);
+ this.other2 = getPiece(app, 7, 5, Orientation.SE, app.assets.ENGINEER, 0f);
this.dice = getDice(app, 6, 1, 1);
this.dice.rollTo(6);
@@ -57,35 +57,42 @@ public class AnimationsScreen extends AbstractScreen
path = buildPath(app);
AnimationBatch batch;
- ShellFireAnimation.register("cfg0", 1f, 66f, 400f, 1.3f, 1f,
+ FireAnimation.register("mgun0", 11, 0.1f, 0.7f, 30f, 150f, 1.3f, 0f,
+ app.assets.getTexture(app.assets.GUN_FIRE), 8, 1,
+ null, 0, 0,
+ app.assets.getSound(app.assets.GUN_FIRE_SND),
+ null);
+ FireAnimation.register("shell0", 1, 0, 1f, 66f, 400f, 1.3f, 1f,
app.assets.getTexture(app.assets.SHELL_FIRE), 8, 1,
app.assets.getTexture(app.assets.EXPLOSIONS), 8, 16,
app.assets.getSound(app.assets.SHELL_FIRE_SND),
app.assets.getSound(app.assets.EXPLOSION_SND));
- ShellFireAnimation.register("cfg1", .5f, 11f, 500f, .8f, 1f,
+ FireAnimation.register("shell1", 1, 0, .5f, 11f, 500f, .8f, 1f,
app.assets.getTexture(app.assets.SHELL_FIRE), 8, 1,
app.assets.getTexture(app.assets.EXPLOSIONS), 8, 16,
app.assets.getSound(app.assets.SHELL_FIRE_SND),
app.assets.getSound(app.assets.EXPLOSION_SND));
animations = AnimationSequence.obtain(10);
- animations.add(BounceAnimation.obtain(panzer, 2f, 3f, -1));
- animations.add(DelayAnimation.obtain(1f));
- animations.add(MoveAnimation.obtain(panzer, path, 2f, app.assets.getSound(app.assets.TANK_MOVE_SND), (p,path) -> {
+ animations.add(BounceAnimation.obtain(panzer, 1f, 3f, -1));
+ animations.add(DelayAnimation.obtain(.5f));
+ animations.add(MoveAnimation.obtain(panzer, path, 2.5f, app.assets.getSound(app.assets.TANK_MOVE_SND), (p,path) -> {
Tile from = path.from();
Tile to = path.to();
System.err.println(String.format("%s -> %s", from, to));
from.enableOverlay(2, false);
if (to != null) to.enableOverlay(2, true);
}));
- batch = AnimationBatch.obtain(2);
- batch.add(FadeAnimation.obtain(other0, 0f, 1f, 1f));
- batch.add(FadeAnimation.obtain(other1, 0f, 1f, 1f));
+ batch = AnimationBatch.obtain(3);
+ batch.add(FadeAnimation.obtain(other0, 0f, 1f, .5f));
+ batch.add(FadeAnimation.obtain(other1, 0f, 1f, .5f));
+ batch.add(FadeAnimation.obtain(other2, 0f, 1f, .5f));
animations.add(batch);
animations.add(getFireAnimationBatch());
- batch = AnimationBatch.obtain(2);
- batch.add(FadeAnimation.obtain(other0, 1f, 0f, 1f));
- batch.add(FadeAnimation.obtain(other1, 1f, 0f, 1f));
+ batch = AnimationBatch.obtain(3);
+ batch.add(FadeAnimation.obtain(other0, 1f, 0f, .5f));
+ batch.add(FadeAnimation.obtain(other1, 1f, 0f, .5f));
+ batch.add(FadeAnimation.obtain(other2, 1f, 0f, .5f));
animations.add(batch);
}
@@ -100,13 +107,14 @@ public class AnimationsScreen extends AbstractScreen
return d;
}
- private Piece getPiece(final GdxBoardTest app, int col, int row, Orientation o)
+ private Piece getPiece(final GdxBoardTest app, int col, int row, Orientation o, String rsc, float a)
{
- Piece p = new Piece(app.assets.getTexture(app.assets.PANZER));
+ Piece p = new Piece(app.assets.getTexture(rsc));
Vector2 v = new Vector2();
this.board.centerOf(col, row, v);
p.centerOn(v.x, v.y);
p.setRotation(o.r());
+ p.setAlpha(a);
return p;
}
@@ -142,15 +150,16 @@ public class AnimationsScreen extends AbstractScreen
private AnimationBatch getFireAnimationBatch()
{
- AnimationBatch batch = AnimationBatch.obtain(2);
- batch.add(ShellFireAnimation.obtain("cfg0", other0, panzer));
- batch.add(ShellFireAnimation.obtain("cfg1", other1, panzer));
+ AnimationBatch batch = AnimationBatch.obtain(3);
+ batch.add(FireAnimation.obtain("shell0", other0, panzer));
+ batch.add(FireAnimation.obtain("shell1", other1, panzer));
+ batch.add(FireAnimation.obtain("mgun0", other2, panzer));
return batch;
}
@Override public void dispose()
{
- ShellFireAnimation.free();
+ FireAnimation.free();
animations.dispose();
super.dispose();
}
@@ -185,6 +194,7 @@ public class AnimationsScreen extends AbstractScreen
panzer.draw(batch);
other0.draw(batch);
other1.draw(batch);
+ other2.draw(batch);
dice.draw(batch);
animations.draw(batch);
batch.end();