summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/rustanddust
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2015-11-06 11:14:15 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2015-11-06 11:14:15 +0100
commit24a9d3dc06095417510fce779fb141e0997f7739 (patch)
treea4ea56397f3cac871d1ff90379df1e23dfd4b42f /core/src/ch/asynk/rustanddust
parent5a8b73c6b5337733450e611808f938e0cfb35296 (diff)
downloadRustAndDust-24a9d3dc06095417510fce779fb141e0997f7739.zip
RustAndDust-24a9d3dc06095417510fce779fb141e0997f7739.tar.gz
UnitDock: smooth vertical adjustment
Diffstat (limited to 'core/src/ch/asynk/rustanddust')
-rw-r--r--core/src/ch/asynk/rustanddust/game/hud/UnitDock.java13
1 files 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);