📄 cameragamestate.java
字号:
package jmetest.monkeymahjongg.game;
import com.jme.math.FastMath;
import com.jme.math.Quaternion;
import com.jme.math.Vector3f;
import com.jme.renderer.Camera;
import com.jme.scene.CameraNode;
import com.jme.scene.Node;
import com.jme.system.DisplaySystem;
import com.jmex.game.state.BasicGameState;
/**
*
* @author DGronau
*/
public class CameraGameState extends BasicGameState {
private final static Vector3f FIXED_TRANSLATION = new Vector3f(0, 0, 20.0f);
private final Node cameraRotationNode;
private final Node cameraDistanceNode;
private final CameraController cameraController = new CameraController(this);
public CameraGameState() {
super("camera");
final Camera camera = DisplaySystem.getDisplaySystem().getRenderer().getCamera();
cameraRotationNode = new Node("camRotation");
cameraDistanceNode = new CameraNode("camDistance", camera);
cameraDistanceNode.setLocalRotation(new Quaternion().fromAngleNormalAxis(FastMath.PI, new Vector3f(0, 1, 0)));
cameraRotationNode.attachChild(cameraDistanceNode);
rootNode.attachChild(cameraRotationNode);
rootNode.addController(cameraController);
rootNode.updateRenderState();
}
public Node getCameraRotationNode() {
return cameraRotationNode;
}
public Node getCameraDistanceNode() {
return cameraDistanceNode;
}
public void setFixed() {
cameraController.setActive(false);
cameraDistanceNode.setLocalTranslation(FIXED_TRANSLATION);
cameraRotationNode.setLocalRotation(new Quaternion());
}
public void setMoveable() {
cameraController.setActive(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -