java手机游戏编程之midp图形设计篇

java手机游戏编程之midp图形设计篇

ID:18223546

大小:85.00 KB

页数:28页

时间:2018-09-15

java手机游戏编程之midp图形设计篇_第1页
java手机游戏编程之midp图形设计篇_第2页
java手机游戏编程之midp图形设计篇_第3页
java手机游戏编程之midp图形设计篇_第4页
java手机游戏编程之midp图形设计篇_第5页
资源描述:

《java手机游戏编程之midp图形设计篇》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java手机游戏编程之MIDP图形设计篇Java手机游戏编程之MIDP图形设计篇  介绍  本文通过一个简单的MIDlet游戏程序示例,简要介绍了MIDlet图形编程,以期能对开发者深入理解MIDP图形编程和开发复杂的移动游戏有所帮助。  一.MIDLET图形  1、MIDlet图形简述  移动信息设备描述(MobileInformationDeviceProfile,MIDP)定义了一套应用编程接口(API),用于运行在MIDP容器中的MIDlet应用程序。这套API本身是建立在有限连接设备配置(ConnectedLimitedDevi

2、ceConfiguration,CLDC)应用编程接口的基础上的。MIDP用户界面应用编程接口类并不是基于Java抽象窗口工具包(AbstractWindowToolkit,AWT)设计。它们是专为手机和呼机这样的小型移动信息设备而设计的,这类设备的特点是只有很小的屏幕和键盘。当一个程序员在编写MIDP图形应用程序的时候,他可能只能使用MIDP或CLDC应用编程接口。  MIDP的中心抽象是屏幕,这句话的含义是MIDP的用户界面设计是基于屏幕的(screen-based)。也就是说,Screen类封装了设备特定的图形和用户交互,所有的用户

3、界面组件都位于屏幕上,并且一次只显示一个屏幕,并且只能浏览或使用这个屏幕上的条目。由屏幕来处理所有的用户界面事件。并只把高级事件传送给应用。之所以采取这种面向屏幕(screen-oriented)的方式,主要是因为移动设备的显示屏幕和键盘实是种类太多了,几乎每个厂家都多多少少有所不同。图1是基于屏幕的MIDP图形用户界面的一些例子。图1:基于屏幕的MIDP图形用户界面  MIDP应用编程接口具有高级用户界面类和低级用户界面类。高级用户界面类(例如Form、List、TextBox、TextField、Alert,及Ticker)可被适配到

4、设备上:支持图像、文本、文本输入域、单选按钮等。低级用户界面类(Canvas类)允许开发者根据需要绘制任意图形。MIDlet可以运行在各种不同尺寸的彩色、不同灰度等级或黑白屏幕的手机上。高级用户界面类是通用用户界面元素的抽象,它的用途在于提高MIDlet跨不同设备的移植性,并且可以使用本地设备的外观表现。低级应用编程接口则能够更直接地控制显示内容,但是MIDlet设计者应该确保其在不同设备(显示尺寸、键盘、色彩等)上的可移植性。上面的例子既用到了高级应用编程接口又用到了低级应用编程接口。  所有的MIDP图形用户界面类都是javax.mi

5、croedition.lcdui程序包的一部分。  2、MIDlet屏幕  MIDP有两种主要的屏幕类型:  A高级屏幕  它包括简单的高级屏幕类,例如List和TextBox。用户不能添加额外的图形用户界面组件到这种类型的屏幕中。九宫格MIDlet示例程序使用的屏幕是继承于名为ChoosePieceScreen的List类,用于游戏者在游戏开始时选择棋子。  一般的Form屏幕类和List类很相像,但是它允许使用额外的图形元素,例如:图像、只读文本域、可编辑文本域、可编辑数据域、标尺和选项组。Form条目可以任意地被添加或删除。九宫格例

6、程中没有使用Form类。  B低级屏幕  Canvas(画布)屏幕(和Graphics、Image类)可以用来编写基于低级应用编程接口的用户界面。这些类给予MIDlet程序员很大程度的绘画灵活性。程序员可以绘制各种类型的图形元素,例如:线、弧、矩形、圆角矩形、圆、文字(不同颜色、字体、大小)、位图剪辑等等。大部分的游戏MIDlet是使用基于画布屏幕类的主图形用户界面元素编写的。  一个MIDlet用户界面通常包含一个或多个屏幕。因为每次只能显示一个屏幕,因此MIDlet具有良好设计的结构是非常重要的进行,这样就能更加容易地处理屏幕之间内容

7、的切换。  下面的代码段说明了在一个MIDlet中切换屏幕的方法,基于屏幕类和对应的MIDlet回调。  代码段1:ClassMyMIDletextendsMIDlet{privateFirstScreenfirstScreen;privateSecondScreensecondScreen;publicMyMIDlet(){…}publicvoidstartApp(){Displayablecurrent=Display.getDisplay(this).getCurrent();if(current==null){firstScree

8、n=newFirstScreen(this,…);Display.getDisplay(this).setCurrent(firstScreen);//显示应用程序的第一个用户界面屏幕}els

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。