目 录
摘要......................................................4
ABSTRACT..................................................5
1 绪论 6
1.1 手机软件现状 6
1.2 J2ME介绍 6
1.3 手机游戏应具有的特征 7
1.4 本游戏背景介绍 8
1.5 本章小结 8
2 开发环境及相关技术的介绍 9
2.1 开发环境 9
2.2 JAVA语言特点 9
2.3 关于ECLIPSE 4
2.4 关于WIRELESS TOOL KIT 10
2.5 本章小结 10
3 程序结构、思想和相关技术 11
3.1 本程序需要解决的主要技术问题 11
3.2 程序流程 6
3.3 CANVAS类 7
3.4 GRAPHICS类 13
3.5 MIDP1.0技术下的绘制背景技术 8
3.6 MIDP2.0新增的GAMECANVAS包 8
3.7 PNG图片格式 9
3.8 玩家飞机的控制方式和敌人方的智能运行 16
3.9 子弹的运行和控制 17
3.10 内存的优化 17
3.11 内存检测器 18
3.12 关于混淆器 18
3.13 本章小结 18
4 程序分析和具体实现 19
4.1 游戏进入前的选择 19
4.2 MYBULLETS类 21
4.3 游戏逻辑及GAMESCREEN类 21
4.3.1 gameScreen类所实现的功能 22
4.3.2 地图的创建 22
4.3.3 gameScreen类的构造函数 23
4.3.4地图的移动 23
4.3.5 关于commandAction()方法 24
4.3.6 Sprite类对象的碰撞检测及相关属性 24
4.3.7 玩家4次游戏机会的实现方法 18
4.3.8 input() 18
4.3.9 render()和renderboss() 19
4.4 游戏中的奖励及相关飞机的行为 19
4.5 普通敌人相关属性 28
4.6 白云的实现原理 30
4.7 关尾BOSS及相关属性 31
4.8本章小结 32
5测试 33
5.1 打包测试的过程 33
5.2 发现的BUG及解决情况 35
5.3 未完善的功能 35
6总结 37
6.1 本程序的总结和展望 37
6.2 感想 37
参考文献 38
致谢 39
Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
2.4 关于Wireless Tool Kit
WTK(Wireless Tool Kit)是Sun公司针对J2ME推出的用于手机和Palm等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包。它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE需集成采用的必备元素。
2.5 本章小结:
第二章介绍了Java语言的特点、本程序的开发环境及其相关工具的原理和使用。
三 程序结构、思想和相关技术
3.1 本程序需要解决的主要技术问题
1.游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。
2.游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图,在MIDP2.0中提供了用于增强游戏功能的game包,使得解决静态或动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案。
3.玩家飞机的运行可以通过键盘响应事件控制,但敌方则因为是自动运行,就需要有一定的智能性;敌人飞机的运行算法也要进行相关的设置,已免游戏过于简单。