介绍NEC扩展API
2008-01-05 08:50:14 来源:WEB开发网■ 1. 引言
在上讲中,我们对网络的相关功能进行了解说。截止上讲以前的讲座,我们讲述的都是关于MIDP的java相关技术的内容,本讲将收尾,介绍NEC扩展API。
■ 2. NEC扩展
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,我们将按顺序展开介绍。
2.1. 扩展图形类
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 java.util.TimerTask;
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());
赞助商链接