?? loadm3gdemo.java
字號(hào):
/*
* LoadM3GDemo.java
*
* Created on 2005年5月3日, 下午9:25
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.m3g.*;
/**
*
* @author Liu Bin
* @version
*/
public class LoadM3GDemo extends MIDlet implements CommandListener {
Display display = null;
private Command cmdExit = new Command("Exit", Command.STOP, 1);
private M3GCanvas can = null;
public LoadM3GDemo() {
display = Display.getDisplay(this);
can = new M3GCanvas(false);
can.addCommand(cmdExit);
can.setCommandListener(this);
}
public void startApp() {
display.setCurrent(can);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
/**
* 命令按鈕事件
*/
public void commandAction(Command c, Displayable d) {
if (c == cmdExit) {
can.stopFlag = true;
notifyDestroyed();
}
}
class M3GCanvas extends GameCanvas implements Runnable{
boolean stopFlag;
private World myWorld;
public M3GCanvas(boolean suppressKeyEvents) {
super(suppressKeyEvents);
try {
//裝載文件
Object3D[] roots = Loader.load("/M3GTest.m3g");
//World是第一個(gè)根節(jié)點(diǎn)
myWorld = (World)roots[0];
} catch(Exception e) {
System.out.println("裝載3D圖像異常:" + e.toString());
}
stopFlag = false;
//開始線程
new Thread(this).start();
}
public void run() {
Graphics g = getGraphics();
while (!stopFlag) {
//繪制3D圖像
Graphics3D myGraphics3D = Graphics3D.getInstance();
try {
myGraphics3D.bindTarget(g);
myGraphics3D.render(myWorld);
} finally {
myGraphics3D.releaseTarget();
}
//繪制后臺(tái)緩沖屏幕
flushGraphics();
try {
Thread.sleep(500); //暫停一段時(shí)間
} catch(InterruptedException ex){
}
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -