快速业务通道

J2ME开发的体会 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
,J2ME默认的屏幕只有一个,即是当前屏幕,所有操作都是对当前屏幕进行操作,因此,当你在主类中将一个Canvas对象设置为当前屏幕后,则主类已经处于脱屏状态,脱屏状态下的对象无法进行直接操作。这一点需要注意。所有外界的操作均只能作用于当前屏幕上显示的Displayable对象,无论是Form,List,或者是Canvas。此时对脱屏类的操作只能通过静态方法或者是该类的一个实例来进行。J2ME的游戏中最简单的一种游戏流程是这样,即一个主类和一个Canvas类,主类入口处定义一个Canvas对象,并且此Canvas对象继承一个Runnable接口,再定义一个基于此对象的线程,然后将此Canvas对象设为当前屏幕对象,并启动线程,即用线程的start()方法,启动线程后,Canvas里的run方法便开始运行,而run方法通常要用repaint()方法来刷屏,因此流程就是按paint()->run->paint().....这样的过程往复,其中如果还有键盘输入,则keyPressed()等方法就穿插在中间。基本上J2ME的程序就是按这样的流程来走,因此在开发和调试中只要对这个流程进行必要的跟踪就可以了。

J2ME开发的体会(2)

时间:2011-01-07

四.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即可。

五.J2ME中的线程J2ME中的线程是Thread类,而实现线程有两种方法,一种是继承Runnable接口,一种是Timer和TimerTask。而不管是哪种线程,其本质都是在运行其中的run方法。在这里要注意,Runnable接口的run方法和TimerTask的run方法又是不同的,因为他们的运行机制不同。Runnable接口是靠线程的休眠或等待来实现线程的刷新,而TimerTask是按照事先给定的时间间隔来自动刷新。对Runnable接口,一旦run方法结束后,则线程就结束了,因此Runnable线程里的run方法要写成循环方式,一般是while(isRunning)的形式,要结束的时候把isRunning设为false,而TimerTask则不用,因为他是定时刷新。但这样也有个问题,就是如果TimerTask的run方法写得过长,执行时间超过了设置的线程间隔时间,就会出现线程重叠的情况。线程重叠会造成诸如游戏速度突然加快等Bug。在Runnable接口定义的线程里,有两种等待方法,一种是wait,一种是sleep,如果使用wait方法,则要注意在线程run方法里,用synchonized标志符将该线程设置为同步锁定状态,否则会出现java.lang.IllegalMonitorStateException异常,大致意思是线程当前请求的监

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号