From 28b2b68c46524fea9319a8831a81b156e93f1934 Mon Sep 17 00:00:00 2001 From: James <150948866+jameslaight@users.noreply.github.com> Date: Sun, 21 Apr 2024 17:13:56 +0100 Subject: [PATCH] make falling pips despawn, remove redundancy --- core/src/com/monjaro/gamejam/main/Die.java | 2 +- core/src/com/monjaro/gamejam/main/FallingPip.java | 13 +------------ core/src/com/monjaro/gamejam/main/Game.java | 7 ++++--- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/core/src/com/monjaro/gamejam/main/Die.java b/core/src/com/monjaro/gamejam/main/Die.java index 6340035..3f61503 100644 --- a/core/src/com/monjaro/gamejam/main/Die.java +++ b/core/src/com/monjaro/gamejam/main/Die.java @@ -68,7 +68,7 @@ public class Die extends Actor { Face.Pip decayed = pips.get(random.nextInt(pips.size())); face.removePip(decayed); - game.addFallingPip(new FallingPip(new Transform(transform.getX(), transform.getY(), 0, 0), face.equals(getFace()))); + game.addFallingPip(new FallingPip(new Transform(transform.getX(), transform.getY(), 0, 0))); } } diff --git a/core/src/com/monjaro/gamejam/main/FallingPip.java b/core/src/com/monjaro/gamejam/main/FallingPip.java index 0ab8175..4b17a68 100644 --- a/core/src/com/monjaro/gamejam/main/FallingPip.java +++ b/core/src/com/monjaro/gamejam/main/FallingPip.java @@ -10,18 +10,12 @@ public class FallingPip extends Actor { private final Transform transform; private final Vector2 velocity; - private final float rotationalVelocity; - private final boolean onTop; - - public FallingPip(Transform transform, boolean onTop) { + public FallingPip(Transform transform) { Random random = new Random(); this.transform = transform; velocity = new Vector2(5 * (-0.5f + random.nextFloat()), 2 + random.nextFloat() * 3); - rotationalVelocity = 40 * (-0.5f + random.nextFloat()); - - this.onTop = onTop; } @Override @@ -30,7 +24,6 @@ public class FallingPip extends Actor { transform.x += velocity.x; transform.y += velocity.y; - transform.rotation += rotationalVelocity; } @Override @@ -43,8 +36,4 @@ public class FallingPip extends Actor { return transform.y <= 25; } - public boolean isOnTop() { - return onTop; - } - } diff --git a/core/src/com/monjaro/gamejam/main/Game.java b/core/src/com/monjaro/gamejam/main/Game.java index 7262bdc..78e7060 100644 --- a/core/src/com/monjaro/gamejam/main/Game.java +++ b/core/src/com/monjaro/gamejam/main/Game.java @@ -79,6 +79,7 @@ public class Game extends ApplicationAdapter { processInput(); fallingPips.forEach(Actor::tick); + fallingPips.removeIf(FallingPip::isOffScreen); } public void processInput() { @@ -153,13 +154,13 @@ public class Game extends ApplicationAdapter { ScreenUtils.clear(0, 0, 0, 1); batch.begin(); - for (FallingPip pip : fallingPips) if (!pip.isOnTop()) pip.render(batch); - for (Die die : dice) { die.render(batch); } - for (FallingPip pip : fallingPips) if (pip.isOnTop()) pip.render(batch); //on top + for (FallingPip pip : fallingPips) { //on top + pip.render(batch); + } int y = Gdx.graphics.getHeight() / 3 * 2 - 25; for (Decay decay : round.getDecays()) {