📄 pod.java
字号:
import javax.microedition.m3g.*;
import java.io.*;
public class Pod
extends Car {
public Group pod;
public Pod(World world, String name, float InitPosition[]) {
try {
Object3D[] podcar = Loader.load("/res/" + name);
for (int i = 0; i < podcar.length; i++) {
if (podcar[i] instanceof Group) {
// System.out.println("podload" + name);
pod = (Group) podcar[i];
break;
}
}
podcar = null;
pod.postRotate(RotY, 0.0f, 1.0f, 0.0f);
world.addChild(pod);
pod.setTranslation(InitPosition[0], Global.groundtocam, InitPosition[1]);
pod.postRotate( -90f, 1.0f, 0.0f, 0.0f);
pod.postRotate( -90f, 0.0f, 0.0f, 1.0f);
maxspeed = 4;
}
catch (Exception e) {
// ERROR!
// System.out.println("Loading error!");
Global.reportException(e);
}
}
public void update() {
while ( (RotY) > 360) {
RotY = RotY - 360;
}
while ( (RotY) < 0) {
RotY = RotY + 360;
}
// System.out.println(currentRotY);
int currentRotYangle = (int) RotY;
// double rads = Math.toRadians(currentRotY);
camSine = Global.sinTab[currentRotYangle];
camCosine = Global.cosTab[currentRotYangle];
pod.translate( -1.2f * carspeed * (float) camSine, 0.0f,
-1.2f * carspeed * (float) camCosine);
carspeed += 0.1;
if (carspeed >= maxspeed) {
carspeed -= 0.1;
}
if (acspeed > 0.01f) {
acspeed -= acspeed / 10;
}
if (hitbyother) {
double Hrads = Math.toRadians(HrotY);
double HcamSine = Math.sin(Hrads);
double HcamCosine = Math.cos(Hrads);
pod.translate( -1.2f * Hspeed * (float) HcamSine, 0.0f,
-1.2f * Hspeed * (float) HcamCosine);
Hspeed -= 0.1;
if (Hspeed < 0) {
hitbyother = false;
}
}
Checkfield(pod, true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -