From 7fbecc8b3d0ceb185665042d06648064c4488342 Mon Sep 17 00:00:00 2001 From: Kusal Ekanayake Date: Tue, 15 Aug 2017 19:14:16 +1200 Subject: [PATCH] Fixed juttery movements when zooming and sometimes tracking. Need to look into getting the boat propery fixed in the center. #story[1121] --- .../java/seng302/visualiser/GameClient.java | 1 - .../java/seng302/visualiser/GameView.java | 21 ++++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/seng302/visualiser/GameClient.java b/src/main/java/seng302/visualiser/GameClient.java index 5cf89502..f4a68a5a 100644 --- a/src/main/java/seng302/visualiser/GameClient.java +++ b/src/main/java/seng302/visualiser/GameClient.java @@ -229,7 +229,6 @@ public class GameClient { positionData.getLon(), positionData.getHeading(), positionData.getGroundSpeed()); } - raceView.getGameView().trackBoat(); } else if (positionData.getType() == DeviceType.MARK_TYPE) { //CompoundMark mark = courseData.getCompoundMarks().get(positionData.getDeviceId()); } diff --git a/src/main/java/seng302/visualiser/GameView.java b/src/main/java/seng302/visualiser/GameView.java index 2eba06b2..5938524e 100644 --- a/src/main/java/seng302/visualiser/GameView.java +++ b/src/main/java/seng302/visualiser/GameView.java @@ -91,15 +91,15 @@ public class GameView extends Pane { double scaleFactor = 1; public void zoomOut() { - scaleFactor = 0.05; - this.setScaleX(this.getScaleX() - scaleFactor); - this.setScaleY(this.getScaleY() - scaleFactor); + scaleFactor = 0.95; + this.setScaleX(this.getScaleX() * scaleFactor); + this.setScaleY(this.getScaleY() * scaleFactor); } public void zoomIn() { - scaleFactor = 0.05; - this.setScaleX(this.getScaleX() + scaleFactor); - this.setScaleY(this.getScaleY() + scaleFactor); + scaleFactor = 1.05; + this.setScaleX(this.getScaleX() * scaleFactor); + this.setScaleY(this.getScaleY() * scaleFactor); } private enum ScaleDirection { @@ -118,8 +118,12 @@ public class GameView extends Pane { double y = boat.getBoatLayoutY(); double displacementX = this.getWidth(); double displacementY = this.getHeight(); - this.setLayoutX((-x + ((displacementX)/2.0)) * this.getScaleX()); - this.setLayoutY((-y + ((displacementY)/2.0)) * this.getScaleY()); +// double displacementX = 1200d; +// double displacementY = 900d; + System.out.println("displacementY = " + displacementY); + System.out.println("displacementX = " + displacementX); + this.setLayoutX((-x + (displacementX/2.0)) * this.getScaleX()); + this.setLayoutY((-y + (displacementY/2.0)) * this.getScaleY()); } } if (!isBoatSelected) { @@ -153,6 +157,7 @@ public class GameView extends Pane { @Override public void handle(long now) { + trackBoat(); if (lastTime == 0) { lastTime = now; } else {