From 24a9d3dc06095417510fce779fb141e0997f7739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Fri, 6 Nov 2015 11:14:15 +0100 Subject: UnitDock: smooth vertical adjustment --- core/src/ch/asynk/rustanddust/game/hud/UnitDock.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/src/ch/asynk/rustanddust/game/hud/UnitDock.java b/core/src/ch/asynk/rustanddust/game/hud/UnitDock.java index 10d604e..b3594dc 100644 --- a/core/src/ch/asynk/rustanddust/game/hud/UnitDock.java +++ b/core/src/ch/asynk/rustanddust/game/hud/UnitDock.java @@ -22,6 +22,7 @@ public class UnitDock extends Bg implements Animation { private static final float SCALE = 0.4f; private static final float STEP = 5f; + private static final float BOUNCE_SPEED = 5; private static final float SCISSORS_BOTTOM = 50f; private final Ctrl ctrl; @@ -112,10 +113,6 @@ public class UnitDock extends Bg implements Animation public void drag(int dx, int dy) { this.dy += dy; - if ((rect.y + this.dy + rect.height) < y) - this.dy = (y - rect.height - rect.y); - else if (scaledRect.y > SCISSORS_BOTTOM) - this.dy -= (scaledRect.y - SCISSORS_BOTTOM); compute(); } @@ -217,6 +214,14 @@ public class UnitDock extends Bg implements Animation { if (!visible) return; + if ((rect.y + this.dy + rect.height) < y) { + this.dy += BOUNCE_SPEED; + compute(); + } else if (scaledRect.y > SCISSORS_BOTTOM) { + this.dy -= BOUNCE_SPEED; + compute(); + } + saved.set(batch.getTransformMatrix()); batch.setTransformMatrix(transform); -- cgit v1.1-2-g2b99