看來還是更多的網友需要J2ME方面的文章,最近我的
學習比較繁忙,所以沒有寫什么東西過來。呵呵,我
還是從開頭開始講吧。J2ME是java平臺的最小子集,
各個手機廠商使用相同的SUN標準包,并在其上有各
自的實現,就我的過去經驗知道Siemens是API最開放
的,但NOKIA手機的運算效率好象很高,可能是我用
過Siemens 2128 和 Nokia 6108的緣故,我對這兩個
手機廠商的手機比較了解。我的第一個游戲,俄羅斯
方塊是運行在2128上面,速度我沒有進行很好的控制
,盡管網友的反饋很好,但我知道這個我的第一個程
序在2128上不是很爽,后來用nokia 6108感覺好多了
。硬件平臺是游戲功能的最主要體現者你需要什么樣
的程序必須根據手機特性來選擇。
做游戲,可以拋開很多j2me中的標準包,初學者可以
先了解如下一些類的作用:
Canvas -> 可以理解成一個畫布,你可以在上面繪制
各種元素
Vector -> 類似帶有索引的鏈表,是一個很好的線程
安全的東西,你可以在一個循環中剪切里面的元素,
而不會發生錯誤
Random -> 隨機數生成,在游戲里很有用
MIDlet ->象Applet一樣,被手機調用的入口,
Graphics -> 可以理解為畫筆
Image -> 圖片?。?!
Thread -> 線程
………………………………
還有一些接口:
Runnable -> 線程接口
等等??!
一個最常用的例子
我現在又沒編譯器,先寫寫,不行我在改
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.*;
class MyCanvas extends Canvas implements
Runnable
{
//雙緩沖
PRivate Image offImage;
private Graphics offGra;
//線程
private Thread thread;
//小球的移動控制
private int x;
private int y;
private int vx;
private int vy;
public static final int VAR = 10;
public MyCanvas()
{
offImage = Image.createImage
(getWidth(), getHeight());
offGra = Image.getGraphics();
x = Math.abs((new Random
()).nextInt() % getWidth());
y = Math.abs((new Random
()).nextInt() % getHeight());
vx = 1;
vy = 1;
thread = new Thread(this);
thread.start();
}
public void paint(Graphics g)
{
g.drawImage(offImage, 0, 0,
Graphics.LEFTGraphics.TOP);
}
新聞熱點
疑難解答