文档详情

手机游戏开发基础(经典)分析报告.doc

发布:2016-04-07约2.34万字共22页下载文档
文本预览下载声明
第十四章 手机游戏开发基础 MIDP中定义的UI(用户界面)从逻辑上包括两组API:高级API和低级API。高级API通过应用高层抽象实现,它主要强调可移植性。而实际的绘制于用户交互处理则有实现具体来完成。使用高级API的应用程序对于组件的显示外观只有有限的控制权,它只能访问高级UI事件。 另一方面,通过使用低级API,应该程序可以完全控制外观,而且可以直接访问输入设备并控制由用户交互产生的重要事件。但低级API可能是与某一固定设备相关的,即可能只在某一设备上可用。所以,使用低级API的应用程序在可移植性上会大打折扣的。这也是所有开发人员比较头疼的事,在某款手机上开发的游戏,在其他机型上就有可能运行不了,还得需要代码上的改动,而且这种代码上的改动有时会很大的,那么要求开发人员在做游戏的过程中,时刻注意游戏的可移植性问题。 简单的说,高级API由于控制不了控件的外观,所以一般来说,高级API都用于手机上的应用或游戏当中的参数设置(如:游戏的关数、难易程度),相反,因为低级API可以随意在手机屏幕上画各种各样的内容,而且能够很方便地得到用户的输入(包括触摸方式),所以在游戏过程中,主要用的还是低级API。 本章将讨论手机游戏开发用户界面的一些基础知识,而后两章将介绍使用高级API和低级API的UI开发。 14.1 MIDLET 程序开发的基本方法 编写源代码,生成.java文件。 编译、预校验,生成.class文件。 在模拟器上运行并测试。 打包生成jar文件。 下载到真机上测试。 MIDlet程序开发的基本流程图 MIDP 程序类 MIDLET 在上一章节,我们通过一个简单的例子,介绍了MIDlet的生命周期,已经对MIDlet有了一个初步的认识,下面我们要系统地学习一下MIDlet。 MIDlet 类介绍 一个MIDP应用程序称作MIDlet——MIDP小应用程序,它不能够单独地运行,必须运行在特定的环境之中,或者说运行在一个容器中。可以把这个容器看作是个大的应用程序,它运行在Java虚拟机之上,但不能完成任何特定的任务,因此需要程序开发者编写代码以完成一项工作,这些编写的程序就称作小应用程序。这样设计的目的是为了让它能在所有的容器中运行,这些容器实现可能不同,但容器的内部却是相同的。 通过这种形式,程序开发者就从各种运行环境、各种设备中解放出来,只需设计一个MIDlet,就可以在不同的浏览器上运行。比如不同的厂家、不同型号的手机,只要它支持J2ME、支持MIDP,就有这样一个容器。至于这个容器的外部形状如何,程序开发者不必考虑,因为容器的内部都是一样的,只要编写规范的小应用程序就行了。 MIDlet中这个容器就是MIDP实现,它以SUN公司发布的CLDC规范和MIDP规范为标准,然后针对设备进行移植,从而提供给所有的MIDlet都一样的容器内部接口。编写MIDP应用程序的要求就是必须扩展MIDlet类,这个类定义了一些接口,JAM可以通过这些接口对MIDlet进行控制。MIDlet类位于以下包中:java.microedtion.midlet,因此,在所有的MIDlet中,都必须引入这个包:import javax.microedtion.midlet.*。注意:这里midlet表示包时必须小写,而MIDlet类的前三个字母大写。在本书中,称MIDP应用程序为MIDlet,可以表示整个应用程序,也可以只表示扩展了MIDlet类的子类,即MIDP应用程序的主类。 midlet包介绍 midlet包对MIDP应用程序进行了定义,也定义了应用程序和它所运行的环境之间的接口,如前面所述MIDP应用程序被称作MIDlet。 midlet包中只有一个类——MIDlet,它是MIDP应用程序必须要扩展的父类,还有一个异常类——MIDletStateChangeException,它用来监测MIDP应用程序状态的改变。Midlet包整个层次结构如下: class java.lang.Object class javax.microedtion.midlet.MIDlet class java.lang.Throwable class java.lang.Exception class javax.microediton.midlet.MIDletStateChangeException 扩展MIDlet类 MIDlet是一个MIDP应用程序,应用程序必须扩展MIDlet类,这样才能使得应用管理器(JAM)对MIDlet进行控制,并能够从应用程序描述文件中获取属性,通知和请求状态改变等。 由于MIDlet类位于包javax.microedtion
显示全部
相似文档