📄 tcamera.java~21~
字号:
import javax.microedition.m3g.*;
public class Tcamera {
private Camera cam;
private float lookdown = -40;
private float camRotY = 0;
public Tcamera(World world, Group groupcamandcar, float f) {
cam = new Camera();
groupcamandcar.addChild(cam);
world.setActiveCamera(cam);
cam.setPerspective(70, f, 20F, 550);
cam.translate( -0.0f, 0.0f, 30.0f);
// cam.postRotate(90, 0.0f, 1.0f, 0.0f);
cam.postRotate(lookdown, 1.0f, 0.0f, 0.0f);
// cam.setOrientation(10,1.0f,0.0f,0.0f);
// Create a light
Light l = new Light();
// Make sure it's AMBIENT
l.setMode(Light.AMBIENT);
// We want a little higher intensity
l.setIntensity(3.0f);
// Add it to our world
world.addChild(l);
}
public void update(Key key, float camtran) {
if (camRotY != 0) {
if (camRotY > 0.01f) {
camRotY -= camRotY / 2f;
cam.postRotate( -lookdown, 1.0f, 0.0f, 0.0f);
cam.postRotate( -camRotY, 0.0f, 1.0f, 0.0f);
cam.postRotate(lookdown, 1.0f, 0.0f, 0.0f);
}
if (camRotY < -0.01f) {
camRotY += -camRotY / 2f;
cam.postRotate( -lookdown, 1.0f, 0.0f, 0.0f);
cam.postRotate( -camRotY, 0.0f, 1.0f, 0.0f);
cam.postRotate(lookdown, 1.0f, 0.0f, 0.0f);
}
}
if (key.left) {
camRotY -= 1f;
cam.postRotate( -lookdown, 1.0f, 0.0f, 0.0f);
cam.postRotate( -1f, 0.0f, 1.0f, 0.0f);
cam.postRotate(lookdown, 1.0f, 0.0f, 0.0f);
}
else if (key.right) {
camRotY += 1f;
cam.postRotate( -lookdown, 1.0f, 0.0f, 0.0f);
cam.postRotate( +1f, 0.0f, 1.0f, 0.0f);
cam.postRotate(lookdown, 1.0f, 0.0f, 0.0f);
}
cam.translate(0.0f, 0.0f, camtran);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -