Map can be zoomed in / out at all times.
- map can be zoomed when object is not selected #story[1312]
This commit is contained in:
@@ -204,7 +204,7 @@ public class View3D extends Pane {
|
|||||||
/**
|
/**
|
||||||
* Stop camera from following the last selected subject
|
* Stop camera from following the last selected subject
|
||||||
*/
|
*/
|
||||||
private void untrackSubject() {
|
public void untrackSubject() {
|
||||||
if(target.get() != null) {
|
if(target.get() != null) {
|
||||||
trackBoat.stop();
|
trackBoat.stop();
|
||||||
target.setValue(null);
|
target.setValue(null);
|
||||||
@@ -215,7 +215,7 @@ public class View3D extends Pane {
|
|||||||
* Set camera to follow the selected subject
|
* Set camera to follow the selected subject
|
||||||
* @param subject to track
|
* @param subject to track
|
||||||
*/
|
*/
|
||||||
private void trackSubject(Subject3D subject) {
|
public void trackSubject(Subject3D subject) {
|
||||||
target.set(subject);
|
target.set(subject);
|
||||||
|
|
||||||
this.trackBoat = new AnimationTimer() {
|
this.trackBoat = new AnimationTimer() {
|
||||||
@@ -265,17 +265,18 @@ public class View3D extends Pane {
|
|||||||
* @param delta amount to change distance by
|
* @param delta amount to change distance by
|
||||||
*/
|
*/
|
||||||
public void updateDistance(double delta) {
|
public void updateDistance(double delta) {
|
||||||
double distance = -this.distance.getZ() + delta;
|
double newDistance = -this.distance.getZ() + delta;
|
||||||
|
if (target.get() == null){
|
||||||
if(distance <= ZOOM_IN_LIMIT) {
|
setDistance(newDistance);
|
||||||
|
} else if(newDistance <= ZOOM_IN_LIMIT) {
|
||||||
setDistance(ZOOM_IN_LIMIT);
|
setDistance(ZOOM_IN_LIMIT);
|
||||||
} else if (distance > ZOOM_OUT_LIMIT){
|
} else if (newDistance > ZOOM_OUT_LIMIT){
|
||||||
untrackSubject();
|
untrackSubject();
|
||||||
setDistance(1050);
|
setDistance(1050);
|
||||||
updatePivot(new Translate(250, 0, 210));
|
updatePivot(new Translate(250, 0, 210));
|
||||||
setYaw(0);
|
setYaw(0);
|
||||||
} else {
|
} else {
|
||||||
setDistance(distance);
|
setDistance(newDistance);
|
||||||
}
|
}
|
||||||
adjustPitchForZoom();
|
adjustPitchForZoom();
|
||||||
adjustScaleForZoom();
|
adjustScaleForZoom();
|
||||||
@@ -294,7 +295,6 @@ public class View3D extends Pane {
|
|||||||
itemScale = 0.1;
|
itemScale = 0.1;
|
||||||
// if zoomed right out
|
// if zoomed right out
|
||||||
} else if (itemScale > 1) {
|
} else if (itemScale > 1) {
|
||||||
System.out.println("over 1");
|
|
||||||
itemScale = 1;
|
itemScale = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user