J2ME 3D編程——第一個3D程序(附源代碼)
更多文章請訪問:http://blog.csdn.net/mailbomb
參考WTK2.2提供的demo,完成了第一個3D程序,雖然很簡單,而且有些問題還不是很清楚,還是把代碼共享出來和願意學習J2ME 3D編程的朋友一起學習。
關於3D編程的資料,可以查閱我的blog。
關於代碼的編譯和運行說明如下:
1、 以下代碼在J2ME WTK2.2下面編譯通過。
2、 代碼分為兩個文件:First3DCanvas.java和First3DMIDlet.java。
3、 使用J2ME WTK2.2建立新的工程,主MIDlet類為:first3d. First3DMIDlet
4、 將代碼保存在你的工程目錄下的first3d目錄下。
5、 將J2ME WTK安裝目錄下的
appsDemo3Descomsuperscapem3gwtksamplesetainedmodecontent目錄中的swerve.m3g文件復制到你的工程目錄下的res目錄下。
6、 你的工程建立後,設置工程,通過WTK界面中的“設置”按鈕打開設置窗口,在“API選擇”中,設置“目標平台”為:自定義;“簡檔”為“MIDP2.0”;“配置”為“CLDC1.1”;選中“Mobile 3D Graphics for J2ME(JSR184)”。
7、 這樣你就可以編譯和運行以下代碼了。
源代碼如下:
// First3DMIDlet.java
package first3d;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class First3DMIDlet extends MIDlet {
private First3DCanvas displayable = new First3DCanvas();
public void startApp() {
Display.getDisplay(this).setCurrent(displayable);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
}
// First3Dcanvas.java
package first3d;
import javax.microedition.lcdui.*;
import javax.microedition.m3g.*;
import java.util.*;
/**
* 第一個3D程序
*/
public class First3DCanvas
extends Canvas
implements Runnable {
/**World對象*/
private World myWorld = null;
/**Graphics3D對象*/
private Graphics3D g3d = Graphics3D.getInstance();
/**Camera對象*/
private Camera cam = null;
private int viewport_x;
private int viewport_y;