目 录
论文总页数:25页
1 引言 1
1.1 手机游戏概述 1
1.2 Java手机游戏的发展现状 1
1.3 手机游戏的发展前景 2
2 J2ME的概述与相关理论基础 3
2.1 J2ME的简介 3
2.2 J2ME的构架 3
2.3 J2ME游戏开发基础相关 4
2.3.1 基于精灵的动画 4
2.3.2 GameCanvas类来实现平稳动画 4
2.3.3 图形坐标 5
2.3.4 检测对象之间的冲突 5
2.4 常用开发工具及其配置与使用 5
3 需求分析与设计方案 6
3.1 需求分析 6
3.2 设计方案 7
3.3 游戏初步功能设计 8
4 游戏的设计流程以及实现 9
4.1 游戏的设计 9
4.2 游戏的实现 10
4.2.1. 图像和精灵的创建和绘制 10
4.2.2. 玩家按键移动的设置 11
4.2.3. 胜利及失败的判定 13
4.2.4. 球员运动轨迹的设置 15
4.2.5. 游戏中分数的记录 16
4.3 碰撞冲突机制的实现 20
5 系统测试 20
结 论 22
参考文献 23
致 谢 24
声 明 25
结 论
之所以选择J2ME手机程序设计实践 并且把Java作为移动平台下的游戏开发语言。第一手机编程这项技术还很新,并且支持这项技术的手机也很新。在手机游戏产业还没有完全绽放的时候,能通过毕业设计的机会来学习如何设计和构建手机游戏,虽然本次毕业设计的游戏还是过于简单,但是对于今后的发展还是会产生很大的帮助,当该产业兴起的时候,就能够做好充分的准备来把握机会。
对于该毕业设计选择为MIDP2.0的原因是,它内含丰富的游戏类库,这些丰富的类库为游戏的开发和设计提供了一些非常实用的类及方法,可以直接调用而不需要重新设计。Java面向对象的特性使得开发游戏变得非常容易。在游戏中,具有同一类特征的物体就可以归为一个类,这个类概括了这一种物体的各方面的属性,包括物体的外观、动作和行为等。
在绘制动画时,最好的方法是使用线程,通过定时长的睡眠来实现动画中的每一个帧,可以很容易的通过改变睡眠时间来动态的改变动画进行的速度。处理器在运算和绘制每一帧时需要花费一定的时间,要保证每一帧的时间是固定的,可以通过睡眠时间=每一帧的固定时间-(处理结束时间-处理开始时间)来得到睡眠时间。
在制作游戏时,需要实现不同种类的人工智能。包括线路界定、碰撞检测、行为、决策等。如果是动作型的游戏,需要界定物体的运动模式,检测物体间的碰撞,控制物体的追逐、躲避,查找物体移动的路径或最佳路径等;如果是棋牌类的游戏,需要实现决策型的人工智能,让机器“考虑”下一步或下几步的操作。
编写手机上的游戏不同于编写PC上的游戏。由于手机的资源很有限,要用这很有限的资源编写很豪华的游戏很不容易。就现在来说,大多数的中低端手机只支持单个程序最大64K的存储空间,如果要在游戏中绘制图像,如果单个图像就占了几K甚至几十K,这个游戏能绘制多少图像,这个游戏除了绘制图像还能有空间做其它什么?而且手机的处理器运算能力也有限,不能在游戏中实现运算量很大的操作。所以在编写手机游戏时,必须尽可能的优化算法,用最少的存储空间,最少的运算量,来实现最好的游戏效果。
使用某种手机的高级特性可以使游戏在该类手机中实现更多的功能,如使用全屏幕显示游戏内容,使用声音、振动和背光来渲染游戏情节等。但使用这些特性是以损失该游戏的可移植性为代价的,因为在MIDP的标准定义中并没有实现这些功能。所以在编写游戏时,如果要保持该游戏的通用性,这些高级功能必须慎用。