基于J2ME WTK的2D手机游戏开发(英文文献翻译) 第4页
手机游戏开发的相关知识及工具
3.1游戏基本框架GFW
游戏基本框架(Game Foundation Framework,GFW)由游戏基础类库(Game Foundation Classes,GFC)实现。GFC 负责定义J2ME 手机游戏的基本结构、游戏各模块的基本功能和模块间的消息传递路径。根据GDL 描述文件的内容,可以从GFC 派生出符合特定游戏需要的子类,并且方便地建立起它们的对象实例之间的交互关系,进而生成完整的J2ME 手机游戏源代码。GFC 基于CLDC/MIDP 构建,相当于在CLDC/MIDP 之上再封装了一层,对GFC 的调用会映射到CLDC/MIDP 上。
虽然与CLDC1.1、MIDP2.0 相比,CLDC1.0、MIDP1.0 缺少部分的APIs,但通过GFC 可以屏蔽这些差异,向上层代码提供相同的接口,使源码生成器能够用相同的模板文件生成适用于不同CLDC/MIDP 环境的游戏源代码。为此,我们将需要调用MIDP2.0 新增APIs 的类挑选出来,定义两个不同的版本GFC for MIDP1.0 和GFC for MIDP2.0,并使它们的包结构、类名和接口均保持一致,只是类和接口的实现不同。对于CLDC 也进行相同的处理。这样,将上述四者两两组合就可以构建适用于1.1 节中提到的3 种CLDC/MIDP 环境的GFC[5]。
3.2 游戏程序的基本结构
J2ME 手机游戏通常由MIDlet 类、用户界面类和游戏对象类构成。其中, MIDlet是游戏的基本执行单元,负责游戏生命周期的控制, 如游戏的启动、暂停、退出等; 用户界面类是游戏的线程类,它不断地循环检测收到的各种消息, 计算游戏状态,然后发出重绘事件要求屏幕重画。手机游戏程序接收的各种消息可以分为两类:一类是由硬件装置产生的消息(如键盘被按下) , 另一类是由游戏程序中的内部对象产生的消息(如游戏对象碰撞产生的消息) 。游戏中所有可见的东西都是游戏对象,它们是游戏中实际运动的实体。游戏对象类定义该类对象能够执行的动作。当指定事件发生时,游戏对象会根据运行逻辑执行相应的动作[7]。
3.3 CLDC及MIDP类库
2000 年5 月,Java Community Process(JCP)公布了CLDC1.0 规范(即JSR30)。作为第一个面对小型设备的Java应用开发规范,CLDC是由包括Nokia,Motorola和Siemens在内的18 家全球知名公司共同协商完成的。CLDC是J2ME核心配置中的一个,可以支持一个或多个profile。其目标主要面向小型的、网络连接速度慢、能源有限(主要是电池供电)且资源有限的设备,如手机、机顶盒、PDA 等。
CLDC 的核心是虚拟机和核心类库。虚拟机运行在目标操作系统之上,对下层的硬件提供必要的兼容和支持;核心类库提供操作系统所需的最小的软件需求。如图3-1所示。
图3-1 CLDC 标准构架
3.3.1 CLDC 的目标
(1) 为小型的、资源受限的连接设备定义一个Java 平台标准。
(2) 允许向上述设备动态的传递Java 应用和内容。
(3) 使Java 开发人员能够轻松的在这些设备上进行应用开发。
3.3.2 CLDC 的整体需求
(1) 能运行在绝大多数的小型的、资源受限的连接设备上。
(2) 用CLDC 为上述设备开发的应用尽可能的不使用设备的本地系统软件。
(3) 定义能应用在绝大多数上述设备上的最小子集的规范。
(4) 保证在不同类型上述设备之间代码级的可移植性和互操作性。
3.3.3 CLDC 的硬件需求
由于CLDC 要面向尽可能多的设备,而这些设备所使用的硬件又各不相同。因此CLDC 规范中并没有指明需要某种硬件支持,只是对设备的最小内存进行了限制。CLDC 规范中要求硬件必须达到以下要求:
(1) 至少160KB 的固定内存以供虚拟机和CLDC 核心类库使用。
(2) 至少32KB 的动态内存以供虚拟机运行时使用(堆栈等)。
这里所说的固定内存是指拥有写保护,不会因关机而抹去的ROM。对于具体的设备的具体实现,这些需求也可能有变化。这里所规定的160KB 是CLDC 规范中的要求,实际也可以是128KB 左右。
3.3.4 CLDC 的软件需求
和硬件类似,CLDC 上运行的软件也是多种多样的。例如,有些设备支持多进程操作系统或者支持文件系统;而有些功能极其有限的设备并不需要文件系统。对于这些不确定性,CLDC只定义了软件所必须的最小集合。CLDC 规范中要求操作系统不需要支持多进程或是分址空间。
3.3.5 CLDC 的功能范围
在CLDC1.0 版本中定义了以下功能:
(1) Java 核心语言与Java 虚拟机的特性
(2) 核心Java 类库
(3) 输入/输出
(4) 对网络的支持
(5) 对安全性的支持
(6) 对国际化的支持
3.3.6 CLDC特征
(1) 安全
(2) 遵守Java语言规范
(3) 遵守Java虚拟机规范
(4) 要求类文件验证
J2EE和J2SE为桌面计算机和服务器的企业级应用和开发提供了非常丰富的库函数。不幸的是这些库需要几十兆的内存来运行,因此并不适合于资源受限的小型设备。所以CLDC针对小型受限设备重新制定了一个类库。为了保证应用程序的兼容性和可移植性,包括进CLDC的大多数类库都是J2SE中规定的子集,其它一些是由CLDC规定的专用于移动设备的类。包括:从J2SE中继承的类、国际化支持类、系统属性类、CLDC专用类四个方面。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>