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

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

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

} /**

g.setColor(255,255,255);

g.fillRect(0,0,getHeight(),getWidth());

//取得NEC扩展Graphics

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

* 按键处理 */

protected void keyPressed(int keycode) {

switch(keycode){ }

//使球运动

case -1:{ } case -2:{ } case -3:{ } case -4:{ } default:{ }

break; ball2X += 3; break; ball2X -= 3; break; ball2Y += 3; break; ball2Y -= 3; break;

}

} ball2.setLocation(ball2X,ball2Y); ball2.setVisible(true); //进行球的碰撞判定 spriteSet.setCollisionAll(); if(spriteSet.getCollisionFlag(1) == Integer.parseInt(\ } //再次描画 repaint(); ball1.setVisible(false); 实际运行上述演示程序的结果如下所示。

使移动。

发生碰撞后画面上部的球消失。

上述演示程序的碰撞判定如下所示。 //进行球的碰撞判定 spriteSet.setCollisionAll(); if(spriteSet.getCollisionFlag(1) == Integer.parseInt(\ }

进行碰撞判定时,必须使用setCollisionOf和setCollisionAll方法。然后,通过isCollision或者getCollisionFlag方法取得结果。

getCollisionFlag 方法的返回值是int型。第n项的Sprite和,由指定的自变量索引指定的Sprite发生碰撞,第n项的bit变为1,而不发生碰撞则为0。也就是说,与第三项的Sprite发生碰撞时,由二进数返回“100”的值。第五项和第二项的Sprite发生碰撞时,由二进数返回“10010”的值。

使用getCollisionFlag方法调查与第n项Sprite发生的碰撞时,使用以下计算式。spriteSet.getCollisionFlag(x) % 2的n次方的值 >= 2的(n-1)次方的值

下面是判断与第三项Sprite发生碰撞的例子。 If( spriteSet.getCollisionFlag(2) % 8 >= 4){ System.out.println(“碰撞!!!!!!”); }else{ ball1.setVisible(false); }

System.out.println(“不碰撞”); 2.3. 颜色变换

利用ImageEffector类,能够改变图片的颜色,而被指定的颜色可以进行最多两种颜色的变换。例如,在选择时/非选择时描画已改变颜色的图标图片,或者描画只有颜色不同的肖像画时,使用该颜色变换功很方便。

ImageEffector 类中有以下的方法。

static javax.microedition.lcdui.Image changeColors(javax.microedition.lcdui.Image image, int[][] colormap, int nelems)

使用changeColors 方法进行颜色变换。在image中,指定变换前的画面,在colormap中指定colormap来改变颜色。在Nelems中指定进行变换的颜色的数量。 例如,把某画面图片image的蓝色变为红色时,如下所示书写。 int[][] colormap= {{ 0,0,255},

颜色变换用的colormap是二次元排列,RGB三要素的值按以下所示进行指定。 1色调的色替换设定

colormap[0][0] = 变换对象RGB色1的R値; colormap[0][1] = 变换对象RGB色1的G值; colormap[0][2] = 变换对象RGB色1的B值; colormap[1][0] = 变换结果RGB色1的R值; colormap[1][1] = 变换结果RGB色1的G值; colormap[1][2] = 变换结果RGB色1的B值; 2色调的色替换设定

colormap[2][0] = 变换对象RGB色2的R値; colormap[2][1] = 变换对象RGB色2的G值; colormap[2][2] = 变换对象RGB色2的B值; colormap[3][0] = 变换结果RGB色2的R值; colormap[3][1] = 变换结果RGB色2的G值; colormap[3][2] = 变换结果RGB色2的B值;

{255,0,0}}; ImageEffector.changeColors(image, colormap, 1);

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