第一范文网 - 专业文章范例文档资料分享平台

NEC手机JAVA中级讲座-第八讲 NEC扩展

来源:用户分享 时间:2025/5/19 17:17:48 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

下面展示利用ImageEffector的演示程序。该程序把画面上球的颜色变换后的结果在画面下表示出来。

import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet;

import javax.microedition.midlet.MIDletStateChangeException; /**

* 进行Sprite test的演示程序 */

public class ImageEffectorSample extends MIDlet { }

import javax.microedition.lcdui.Canvas;

Display display;

ImageEffectorCanvas canvas; /**

* 构造函数 */

public ImageEffectorSample(){ } /**

* 程序的打开方法 */

protected void startApp() throws MIDletStateChangeException { }

protected void pauseApp() { }

protected void destroyApp(boolean arg0) throws MIDletStateChangeException { }

display.setCurrent(canvas); display = Display.getDisplay(this); canvas = new ImageEffectorCanvas();

import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image;

import com.nec.graphics.ImageEffector; import com.nec.graphics.ImageMap; import com.nec.graphics.NxGraphics; import com.nec.graphics.Sprite; import com.nec.graphics.SpriteSet; /**

* 颜色变换test用canvas */

public class ImageEffectorCanvas extends Canvas{

private final String IMAGE_PATH = \

private Image img = null; private Sprite ball1 = null; private Sprite ball2 = null; private SpriteSet spriteSet; private ImageMap im; /**

* 构造函数 */

public ImageEffectorCanvas(){

//读取画面 try { }

//Sprite的初始化

spriteSet = new SpriteSet(2);

img = Image.createImage(IMAGE_PATH); e.printStackTrace(); } catch (Exception e) {

}

} /**

ball1 = spriteSet.getSprite(0); ball2 = spriteSet.getSprite(1);

if(img != null){ }

//球1的初始化 ball1.setImage(img); ball1.setLocation(0,0); ball1.setVisible(true); //进行画面转换

int colormap[][] = {{0,0,0},

{0,0,255}, {255,255,255}, {0,0,0}};

Image img2 =ImageEffector.changeColors(img,colormap,4); ball2.setImage(img2); ball2.setLocation(100,100); ball2.setVisible(true);

* 描画方法 */

protected void paint(Graphics g) { }

//取得NEC扩展Graphics

NxGraphics ng = NxGraphics.getNxGraphics(g); ng.drawSpriteSet(spriteSet);

运行上述演示程序后的结果如下所示。

2.4. 多重按键

利用NEC扩展Canvas的NxCanvas类,能够判断同时按下两个按键。利用该多重按键功能,例如,人物在画面上活动时,可以实现斜向移动。(例如,按右键+下键,向右下移动等)。NxCanvas 类中有以下方法。

int getPressedKeys()

我们可以利用getPressedKeys 方法判断被按的按键。按键信息32bit被分为8bit单位,其中包括由canvas类定义的KEY_NUM1等キーパッド信息。 也就是说,我们同时按“0”和“1”时,

例) 【0】按键(Keycode=48)和【1】按键(Keycode=49)同时被按时 00000000 00000000 00110000 00110001 |----未使用 经常0----| 【0】 【1】

getPressedKeys()的返回值变为12337

由于两个按键被特别指定,值必须被分成8bit单位,如下所示,所以可以取得キーパッド的信息。

int key1 = getPressedKeys() % 256; int key2 = (getPressedKeys() – key1) / 256

搜索更多关于: NEC手机JAVA中级讲座-第八讲 NEC扩展 的文档
NEC手机JAVA中级讲座-第八讲 NEC扩展.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4exc81bkfq6d7jn4l21l_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top