现在的位置: 首页 > 综合 > 正文

java me 与 android 缓冲绘图的一点点认识

2013年10月02日 ⁄ 综合 ⁄ 共 1021字 ⁄ 字号 评论关闭

新到的手游公司,最近在学java me,故有下文。。。

 

不论是android游戏还是java me游戏,图片的绘制都是必须的,而且也是很重要的,但如果要求绘制的内容太多,就会出现闪屏的现象,造成不好的游戏体验!今天是学习java me的第三天,有点浅显的认识,不免有错误或者纰漏,恳求大家指正!

 

java me与android非常的相似,但是android更复杂更开放一些,今天就说说绘图这方面

 

绘制的原理是把要绘制的内容先绘制在一张画布上,然后把画布一次性绘制到View或者Graphics

 

在我看来,java me中的Canvas类似于android的View,因为java me中可以通过Canvas做一些绘制方面的工作,而android中有View和SurfaceView的差别,View没有做缓冲处理,而SurfaceView做了缓冲处理,在

 


原理解释:在当前Canvas中获取画布,然后锁定(目的是不再一步一步的绘制,而是把一步一步绘制的过程先绘制到一个canvas上,等绘制完成后一次性将这个canvas绘制到View上)

 

在java me中没有找到类似的类,所以只能自己模拟这个过程了

 

在java me中自定义一个Canvas,在其类中定义一个Image对象,相当于android中的Bitmap类,在绘制之前,先把这个Image对象绘制成与屏幕大小相同的位图(内容可变的,所以用Image.createImage(int width, int height)),然后得到这个Image的Graphics,即相当于或者这个Image的绘制句柄,然后根据想要做的操作在这个graphics上绘制,等绘制完成后一次性的将这个Image绘制到要显示的Canvas上


简而言之一句话,在一张空白的Image中获取绘制Graphics对象,然后对Graphics绘制(相当于Image对象的修改),等修改完成之后,将Image一次性绘制出来(绘制一条线,一个字,一幅图都算是一次,绘制的时间应该是一样的,你把你想要要绘制的很多次操作先绘制完成,然后再用一次绘制图片到Canvas中,可以优化很多)。

 

由于还没有用到,所以没有示例代码,等真正做了,再补上!

抱歉!评论已关闭.