在上講中,我們對網絡的相關功能進行了解說。截止上講以前的講座,我們講述的都是關于MIDP的java相關技術的內容,本講將收尾,介紹NEC擴展API。
NEC擴展API中有如下的類。
類 AudioClip 處理聲音數據類。已在第五講解說。 AudioListener Audio事務監聽器。已在第五講解說。 ImageEffector 顏色變換類。將在本講解說。 ImageMap 模擬PCG類。因為能輕松的把多種畫面分配在格子里,所以能很輕易的制作出背景和版面(ImageMap)。不在本講解說。 Media 取得媒體數據類。已在第五講解說。 NxCanvas NEC擴展canvas,支持多重按鍵。將在本講解說。 NxGraphics NEC擴展Graphics。描畫SPRite、ImageMap。將在本講解說。 PhoneControl 控制震動、逆光類。不在本講解說。 Sprite Sprite類。將在本講解說。 SpriteSet 治理Sprite類。將在本講解說。關于上表的ImageEffector、NxCanvas、NxGraphics、Sprite、SpriteSet,我們將按順序展開介紹。
NxGraphics 類是Graphics 的擴展類。下面介紹可以實現的Sprite、ImageMap的描畫以及矩形區域的復制。NxGraphics 類定義了以下方法。
void copyArea(int sx, int sy, int width, int height, int dx, int dy)
把Canvas描畫的矩形區域復制后描畫。利用此功能能夠把描畫過一次的東西復制下來進行描畫,因此當描畫相同內容的拷貝時,可以簡化步驟。
void drawImageMap(ImageMap map, int x, int y)
對將多種畫面分配在格子里的ImageMap進行描畫。
void drawSpriteSet(SpriteSet sprites)
描畫Sprite。后面有Sprite的相關介紹。
static NxGraphics getNxGraphics(javax.microedition.lcdui.Graphics g)
取得NxGraphics對象。
下面展示的是使用copyArea方法的范例。該范例使用copyArea對移動球的一部分進行復制。
import java.util.Timer;import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import com.nec.graphics.NxGraphics;
/**
* copyArea范例動畫canvas
*/
public class CopyAreaMovingBallCanvas extends Canvas {
private int x; //球的x坐標
private Image img;
private Timer timer;
private TimerTask task;
/**
* 構造函數
*/
public TimerMovingBallCanvas() {
//讀取畫面
try{
img = Image.createImage("/back.PNG");
}catch(Exception e){
e.printStackTrace();
}
// 設定Timer,TimerTask
timer = new Timer();
task = new TimerMovingBallTask(this);
timer.schedule(task, 100, 100); //從100毫秒后起每100毫秒執行一次任務
}
/**
* 描畫方法
*/
protected void paint(Graphics g) {
//清除畫面
g.setColor(255, 255, 255); //白
g.fillRect(0, 0, getWidth(), getHeight());
新聞熱點
疑難解答