存档
motionWelder动作编辑器封装使用
手机游戏动作编辑器MotionWelder–编写程序
开发环境:Eclipse+EclipseMe (Eclipse3.4版本以上使用EclipseMe时在添加第三方库常常会出现classnotfound异常,可使用mtj代替EclipseME,或使用低一些的Eclipse版本)
1、新建J2ME工程,导入MotionWelder的J2ME库(在该程序下载包里J2ME 的lib目录里的motionwelder.jar)
右键工程–>Build Path –>Add external archives… —>选择motionwelder.jar打开,即可导入完毕。
2、把导出的动作数据文件拷到工程的资源目录,导入动作数据文件
/*
spriteName 动作数据文件
splitImageClips 内存加载图片的方式,如果为false则加载完整的图片(图片没有切片),true则加载切片的图片
imageloader 加载动作所需图片的类
*/
MSpriteData animationData = MSpriteLoader.loadMSprite(java.lang.String spriteName, boolean splitImageClips, MSpriteImageLoader imageloader)
3、加载动作图片
interface MSpriteImageLoader:
splitImageClips = false - 加载完整的图片
Image[] loadImage(spriteName,imageId,orientationUsedInStudio);
使用动画编辑器编辑、绘制复杂的精灵动画
J2ME平台PNG图片的压缩与解压缩
PNG文件格式:
PNG文件格式分为PNG-24和PNG-8,其最大的区别是PNG-24是用24位来保存一个像素值,是真彩色,而PNG-8是用8位索引值来在 调色盘中索引一个颜色,因为一个索引值的最大上限为2的8次方既128,故调色盘中颜色数最多为128种,所以该文件格式又被叫做PNG-8 128仿色。
PNG-24因为其图片容量过大,而且在Nokia和Moto等某些机型上创建图片失败和显示不正确等异常时有发生,有时还会严重拖慢显示速度,故并不常 用,CoCoMo认为这些异常和平台底层的图像解压不无关系。不过该格式最大的优点是可以保存Alpha通道,同事也曾有过利用该图片格式实现Alpha 混合的先例,想来随着技术的发展,手机硬件平台的提升,Alpha混合一定会被广泛的应用,到那时该格式的最大优势才会真正发挥。
PNG-8文件是目前广泛应用的PNG图像格式,其主要有六大块组成:
1.文件头
2.IHDR块
3.PLTE块
4.tRNS块
5.IDAT块
6.文件尾
这六大块按顺序排列,也就是说IDAT块永远是在PLTE块之后,期间也会有许多其他的区块用来描述信息,例如图像的最后修改时间是多少,图像的创建者是谁等,不过这些区块的信息对我们来说都是可有可无的描述信息,故压缩时一般先向这些区块开刀。
应用双缓冲技术解决画面闪烁的问题
有些时候我们可能在J2ME中遇到画面闪烁的问题,这时候我们可以应用双缓冲的技术来解决,不过由于现在越来越多的手机自身就支持双缓冲了。所以这里只做个简单的介绍。
我写了程序本来想在NOkia 6108上比较用和不用的区别,结果这个手机自己就支持双缓冲,所以根本没有比较出来。不过了解这个技术还是有必要的,所以我决定还是写出来。双缓冲本来是在开发PC应用程序的时候遇到的。在MIDP开发中同样存在,当你在屏幕上进行原始写画的时候,如果很复杂的话,用户会发现界面在闪烁。因此你可以这样做,首先在另一个图片上进行paint()得操作,当完成了以后就把它copy到屏幕上,由于通常copy得时候速度很快就不会出现闪烁了。这个技术就是双缓冲。
阅读全文…
最近评论