Fixed initialization issues in ChaseCameraAppState

experimental
Nehon 11 years ago
parent 24a971a186
commit d5c96d84ee
  1. 15
      jme3-core/src/main/java/com/jme3/app/ChaseCameraAppState.java

@ -78,8 +78,8 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
protected float minVerticalRotation = 0f; protected float minVerticalRotation = 0f;
protected float horizontalRotation = 0f; protected float horizontalRotation = 0f;
//protected float distanceLerpFactor = 0; //protected float distanceLerpFactor = 0;
protected Vector3f upVector; protected Vector3f upVector = new Vector3f();
protected Vector3f leftVector; protected Vector3f leftVector = new Vector3f();
protected Trigger[] zoomOutTrigger = {new MouseAxisTrigger(MouseInput.AXIS_WHEEL, true)}; protected Trigger[] zoomOutTrigger = {new MouseAxisTrigger(MouseInput.AXIS_WHEEL, true)};
protected Trigger[] zoomInTrigger = {new MouseAxisTrigger(MouseInput.AXIS_WHEEL, false)}; protected Trigger[] zoomInTrigger = {new MouseAxisTrigger(MouseInput.AXIS_WHEEL, false)};
protected Trigger[] toggleRotateTrigger = {new MouseButtonTrigger(MouseInput.BUTTON_LEFT), new MouseButtonTrigger(MouseInput.BUTTON_RIGHT)}; protected Trigger[] toggleRotateTrigger = {new MouseButtonTrigger(MouseInput.BUTTON_LEFT), new MouseButtonTrigger(MouseInput.BUTTON_RIGHT)};
@ -89,6 +89,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
// protected float rotation = 0; // protected float rotation = 0;
// protected float targetRotation = rotation; // protected float targetRotation = rotation;
public ChaseCameraAppState() { public ChaseCameraAppState() {
camNode = new CameraNode("ChaseCameraNode", new CameraControl());
} }
@Override @Override
@ -96,7 +97,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
super.initialize(stateManager, app); super.initialize(stateManager, app);
this.inputManager = app.getInputManager(); this.inputManager = app.getInputManager();
target = new Node("ChaseCamTarget"); target = new Node("ChaseCamTarget");
camNode = new CameraNode("ChaseCameraNode", app.getCamera()); camNode.setCamera(app.getCamera());
camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera);
target.attachChild(camNode); target.attachChild(camNode);
camNode.setLocalTranslation(0, 0, distance); camNode.setLocalTranslation(0, 0, distance);
@ -275,8 +276,10 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
*/ */
public void setMaxDistance(float maxDistance) { public void setMaxDistance(float maxDistance) {
this.maxDistance = maxDistance; this.maxDistance = maxDistance;
if(initialized){
zoomCamera(distance); zoomCamera(distance);
} }
}
/** /**
* Returns the min zoom distance of the camera (default is 1) * Returns the min zoom distance of the camera (default is 1)
@ -292,8 +295,10 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
*/ */
public void setMinDistance(float minDistance) { public void setMinDistance(float minDistance) {
this.minDistance = minDistance; this.minDistance = minDistance;
if(initialized){
zoomCamera(distance); zoomCamera(distance);
} }
}
/** /**
* @return The maximal vertical rotation angle in radian of the camera * @return The maximal vertical rotation angle in radian of the camera
@ -311,8 +316,10 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
*/ */
public void setMaxVerticalRotation(float maxVerticalRotation) { public void setMaxVerticalRotation(float maxVerticalRotation) {
this.maxVerticalRotation = maxVerticalRotation; this.maxVerticalRotation = maxVerticalRotation;
if(initialized){
rotateCamera(); rotateCamera();
} }
}
/** /**
* *
@ -331,8 +338,10 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
*/ */
public void setMinVerticalRotation(float minHeight) { public void setMinVerticalRotation(float minHeight) {
this.minVerticalRotation = minHeight; this.minVerticalRotation = minHeight;
if(initialized){
rotateCamera(); rotateCamera();
} }
}
/** /**
* returns the zoom speed * returns the zoom speed

Loading…
Cancel
Save