J2ME开发的一些体会
http://tech.ddvip.com 2006年07月17日 社区交流
本文详细介绍J2ME开发的一些体会
在屏幕对象的操作上,我要解释一下,J2ME默认的屏幕只有一个,即是当前屏幕,所有操作都是对当前屏幕进行操作,因此,当你在主类中将一个Canvas对象设置为当前屏幕后,则主类已经处于脱屏状态,脱屏状态下的对象无法进行直接操作。这一点需要注意。所有外界的操作均只能作用于当前屏幕上显示的Displayable对象,无论是Form,List,或者是Canvas。此时对脱屏类的操作只能通过静态方法或者是该类的一个实例来进行。J2ME的游戏中最简单的一种游戏流程是这样,即一个主类和一个Canvas类,主类入口处定义一个Canvas对象,并且此Canvas对象继承一个Runnable接口,再定义一个基于此对象的线程,然后将此Canvas对象设为当前屏幕对象,并启动线程,即用线程的start()方法,启动线程后,Canvas里的run方法便开始运行,而run方法通常要用repaint()方法来刷屏,因此流程就是按paint()->run->paint().....这样的过程往复,其中如果还有键盘输入,则keyPressed()等方法就穿插在中间。基本上J2ME的程序就是按这样的流程来走,因此在开发和调试中只要对这个流程进行必要的跟踪就可以了。
四.J2ME中常用的类J2ME中常用的类有MIDlet,Form,List,Canvas,String,Command,Graphics等等。其中Graphics作为游戏开发中的核心类,自然需要熟练的掌握。在Graphics中如下的重要方法需要掌握:setColor(int 设置的颜色)setFont(Font 设置的字体)drawRect(int 起点坐标x,int 起点坐标y,int 宽,int 高)fillRect(int 起点坐标x,int 起点坐标y,int 宽,int 高)drawImage(Image 要画的图形对象,int 起点坐标x,int起点坐标y,int 基点类型)drawLine(int 起点坐标x,int起点坐标y,int 终点坐标x,int 终点坐标y)drawString(String 要写的字符串, int 起点坐标x,int起点坐标y,int 基点类型)在这里要说明一下什么是基点类型,基点是标志你设置的起点坐标在整个要绘制的对象(不论是图像还是文字)中的位置,如左上,右下,正中间等等。常用的值有0或20:左上,17:正中间,24:右上,36:左下,40:右下。除此之外,还有几个重要方法addCommand,removeCommand,这两个方法是对Command的添加和取消的操作,很常用。而谈到Command,自然就要涉及到commandListener这个接口,按钮的监听需要通过这个接口来进行,也就是要重载接口中的 commandAction()方法。不过在使用这个接口的时候,不要忘了对当前的对象设置setCommandListener(this)。另外,对于String类,substring方法应该掌握而对于Form这些高级控件,可用方法不多,看看API即可。
责编:豆豆技术应用