《基于J2ME技术的手机游戏开发.doc》由会员分享,可在线阅读,更多相关《基于J2ME技术的手机游戏开发.doc(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中山大学南方学院装订线 本科生毕业论文(设计) 题目:基于J2ME技术的手机游戏开发系 名: 电子通信与软件工程系专 业: 06级计算机科学与技术专业 学 号: 062011059 姓 名: 肖 思 指导教师: 荣 军 二一年五月摘 要三号黑体加粗随着移动通信技术的发展和无线数据业务的进步,手机已被赋予了除通话以外的其它许多功能。全新的手机游戏领域已逐渐聚焦了众多软件开发商的目光,游戏开发者和游戏玩家将共同面临这个振奋人心的游戏新境界。J2ME(Java 2 Micro Edition)作为Java技术专为消费嵌入式系统定制的版本,目前已经成为移动通讯设备的主流开发平台。基于J2ME平台能够方
2、便地利用各种Java技术在手机上实现许多复杂的功能。但是开发手机游戏由于受到手机设备的制约,需要解决许多关键问题:1.在手机设备这样受限的环境中,如何让背景图像以与每个角色动作显示的形象逼真,用普通的台式机的处理方法显然是不行的。2.移动设备固有的资源都非常宝贵,但游戏常常会用到很多的图片、动画、场景、声音等数据文件,如何有效使用有限的手机资源、如何组织游戏本身资源,提高手机系统的整体性能,是游戏开发中需要解决的关键问题。本系统基于J2ME平台开发,实现了一款操作简单并有一定可玩性的完整2D(二维)版A-RPG(Action Role Playing Game)手机游戏。本文的主要工作集中在:
3、1. 阐述了手机游戏的背景和发展趋势,详细分析了开发手机应用软件所需的关键技术MIDP 2.0(Mobile Information Device Profile)的体系结构和此架构中的关键技术。2. 在分析手机游戏开发特点的基础上,总结了手机游戏开发与部署的一般流程,设计并实现了一款A-RPG手机游戏枫际神话。3. 分析研究了手机游戏开发中的关键问题:在J2ME技术基础上,应用卡马克算法,实现对地图模块的优化处理,使背景图像形象逼真,提高了手机游戏的质量。4. 分析了现有的移植解决方案,总结出了一套有效的移植方法,提高了游戏质量和开发的效率。关键词:J2ME;卡马克算法;MIDP;A-RPG
4、43 / 49ABSTRACTAs mobile communication technology and advances in wireless data services,mobile phone call has been given other than than many of the features. The new mobile gaming has gradually focused the attention of many software developers,game developers and game players will be facing the ga
5、me in this exciting new realm. J2ME (Java 2 Micro Edition) Java technology as an embedded system for consumer versions of customized,mobile communication devices has become a mainstream development platform. Based on J2ME platform can easily use a variety of Java technology on mobile phones,many com
6、plex functions. However,in mobile game development constraints due to mobile devices,need to address many key issues:1. Mobile devices such a restricted environment,how to make the background image,and each role is shown in vivid,with a common desktop approach is clearly not acceptable. 2. Mobile de
7、vices are very valuable natural resources,but the game will often use a lot of pictures,animation,scene,sound, and data files,how to effectively use the limited phone resources,how to organize the game of their resources to improve the overall performance of the mobile phone system,is the game devel
8、opers need to resolve key issues. The system is based on J2ME platform,achieve a simple and complete certain playability 2D (two dimensional) version of A-RPG (Action Role Playing Game) Mobile Game. Main focus of this article: 1. Describes the background and development of mobile gaming trends,detai
9、led analysis of the development of mobile application software key technologies needed-MIDP 2.0 (Mobile Information Device Profile) architecture and key technologies in this framework. 2. In the analysis of the characteristics of mobile game development based on the sum of the mobile game developmen
10、t and deployment of a general process design and implementation of an A-RPG Games - Maple International myth. 3. Analysis of the mobile game development a key question: based on J2ME technology,application Carmack algorithm,to achieve optimization of the map module,so vivid background images improve
11、 the quality of mobile games. 4. Analysis of the migration of existing solutions,we summarize a set of effective transplant methods to improve the game quality and development efficiency.Keyword:J2ME;Carmack algorithm;MIDP;A-RPG目 录摘要IABSTRACTII第1章绪论11.1 研究背景11.2 手机游戏国外发展现状11.3 研究容31.4 论文容与安排31.5 本章小
12、结4第2章应用开发环境的选择和相关技术52.1 开发的主流技术52.2 选择J2ME的原因52.3 开发环境的介绍与配置62.3.1开发环境62.3.2 WTK的介绍和配置方法62.3.3 Eclipse和EclipseME的介绍和配置方法92.3.4使用Eclipse搭建J2ME开发平台92.4 本章小结12第3章枫际神话游戏方案设计133.1 设计需要考虑的因素133.2 设计目标143.3 游戏介绍153.4 游戏背景153.5 游戏模块153.5.1 游戏的主要模块153.5.2 游戏的总体框架163.6游戏的基本流程173.7本章小结17第4章枫际神话游戏程序设计与具体实现194.1
13、 本程序需要解决的主要技术问题194.2 程序的结构以与流程194.3 游戏的架构214.4 本程序中用到的相关技术214.4.1 低级用户界面214.4.2 卡马克算法234.5 优化程序设计264.5.1 对象的生成和大小调整274.5.2 优化存的使用274.6 45度角A-RPG游戏的实现284.6.1 地图模块的实现284.6.2 游戏动画模块的实现294.6.3 游戏碰撞检测模块的实现304.6.4 键控模块的实现314.6.5 主角模块的实现334.6.6 敌人模块的实现334.6.7 游戏主绘制模块的实现344.7 本章小结36第5章测试375.1 测试方案375.2 混淆打包
14、375.2.1关于混淆器375.2.2混淆器的配置375.2.3打包385.3 发现的BUG405.4 寻找问题来源405.4.1 手机设备的差异405.4.2 引发的问题415.4.3 解决方案415.5 未完善的功能425.6 本章小结42第6章总结43致44参考文献45第1章 绪论1.1 研究背景在信息社会中,手机与其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机与其他无线设备上网络势在必行。但是传统手机存在以下弊端:1. 传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。2. 传统手机访问互联
15、网是通过WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。而Java技术在无线应用方面的优势非常明显:1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。2. Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI)。3. Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。基于以上分析,Java手机将是未来手机的发展方向,是业界的热点。1.2 手机游戏国外发展现状根据英国Informa媒体研究公布
16、的统计数据,2004年手机游戏市场的产值已经达到5.87亿美元1。在欧洲,已经初步形成了一个规模庞大的行业市场。与欧美相比,日手机游戏市场已逐步走向成熟。以2002年为分界,全球手机游戏业务发展可分为两个阶段,之前移动游戏处于起步阶段,之后步入了大发展阶段2。其实手机游戏业务最早发端于欧洲,但是欧洲运营商却没有把握好手机游戏市场发展的大好时机。日运营商较早认识到了手机游戏的价值,并借助国信息产业飞速发展的机会,铺设了高速的移动数据传输网络并开始提供高性能的手机终端,并创造了运营商与游戏提供商之间良好的合作模式,日的手机游戏市场因此迅速发展起来。日还涌现了众多实力强劲的手机游戏容提供商,如日本C
17、YBIRD和国ComZUs,而传统的游戏厂商如世嘉和索尼在一开始就加入了手机游戏容提供商的行列。2002年以后,欧洲的运营商意识到了手机游戏市场的广阔前景与其自身与日运营商之间的差距,开始急起直追,手机游戏市场日渐活跃2。日本日本在手机游戏领域占据了绝对的领导地位。1999年,包括北美在的很多国家和地区对手机游戏还一无所知时,日本就已拥有超过30万的手机游戏用户,占全球手机游戏用户的70%以上3。日本在手机游戏领域走在世界前列的主要的原因是:其一,日本拥有庞大的移动数据业务用户群。经过近年来的不断发展,到2004年6月底,日本移动用户数已经达到8270万,其中7000万以上的用户使页用移动数据
18、业务3。 NTT DoCoMo的i-mode(它代表着information-mode,是一种移动服务)业务是世界公认的经营最成功的移动数据业务。而手机游戏作为其中的一项业务,拥有广泛的用户群。其二,日本是传统的电子游戏大国。世界传统游戏市场的巨头索尼、世嘉和任天堂都在日本,他们手中掌握了丰富的视频游戏和PC游戏资源,都可以转化为手机游戏产品。2004年, NTT Do2CoMo推出了新一代FOMA手机,具有更强大的“i-appli”(Java)游戏功能。新一代FOMA手机,把软件存储区域和数据保存区域(高速缓存)的总容量提高到230k的2倍以上,从性能上看已经超过了任天堂GBA掌机3。随即日
19、本著名的PC游戏厂商SQUARE-ENIX宣布面向新一代FOMA手机,开发勇者斗恶龙和最终幻想游戏的移植版。这说明,随着日本手机功能的升级和无线宽带网络数据承载能力的提高,手机游戏已经对高端的游戏厂商产生了强大的吸引力,手机游戏已不再是简单游戏的代名词。欧洲欧洲很早就推出了手机游戏业务,但在2003年以前,欧洲手机游戏市场还主要停留在SMS和WAP游戏时代3。与日本相比,欧洲的手机游戏市场相对滞后。欧洲手机游戏产业发展滞后的原因主要表现在以下三个方面。第一,移动终端的问题。由于欧洲运营商和手机厂商之间没有深层次的合作,他们并没有采用类似日本 NTT DoCoMo那样的定制生产模式,而是普通的采
20、购关系。这就导致在新业务推出的时候,相应的终端生产往往会滞后一段时间,从而成为制约瓶颈。第二,运营商封闭的数据业务模式阻碍了手机游戏提供商进入市场。在欧洲传统的移动数据业务模式中,手机游戏提供商必须向运营商支付租用网络的费用。这一费用对于刚刚出现的实力还很薄弱的手机游戏提供商来说难以承受。第三,欧洲国家众多、文化多元,手机游戏在传播上存在语言等方面的障碍。随着移动数据业务的不断发展和市场压力的不断加大,欧洲移动运营商已认识到改善手机游戏市场环境的必要性和紧迫性。在终端问题上,欧洲的运营商开始直接引入日的高端手机,打破了传统欧洲手机市场为欧洲手机厂商垄断局面;在经营模式上,他们也采取了开放的数据
21、业务经营模式。比如Vodafone公司就推出了VodafoneLive!,通过合作分成的模式鼓励手机游戏开发商的积极参与。也有公司直接引入日本imode的运作模式和游戏容。这些举措大大推动了欧洲手机游戏业务的发展。到2003年年底,欧洲手机游戏市场的环境已基本成熟,Java手机在欧洲已经十分普与,还出现了像N-Gage这样的专用手机游戏终端3。中国根据国最大的移动服务提供商中国移动通信公司日前公布的一组数据显示,目前中国移动的手机用户数量已经超出了美国全国总人口数量。中国移动通信公司的手机用户数量达到了已经超过美国的总人口数量。中国现在有着3亿多的手机用户,即使只有10%的用户每月只下载一款游
22、戏,也足以使其形成一个规模庞大的产业。但是日前仅有不足1%的用户下载过手机游戏,这使得这块被无数人看好的市场并没有达到和人们预期相吻合的水平。可以说,手机游戏目前在中国只能算是初期阶段。1.3 研究容随着手机的普与和无线网络的发展,在手机上的应用程序也越来越多,手机需要为人做的事情也就越来越多,怎么样才能真正方便快捷地让手机为我们服务,那就需要对手机进行深入的研究,解决手机在应用开发中所需要解决的问题。本文研究的主要容有:1. 资源受限设备和无线数据应用平台的特点解释了资源受限设备和无线数据应用平台的一些基本概念和特点;研究了目前比较流行的无线应用开发技术J2ME,充分说明了J2ME技术的美好
23、前景。2. MIDP技术的特点包括MIDP的体系结构和MIDP的描述与配置,并运用MIDP技术对枫际神话游戏的架构进行了分析。3. 卡马克算法的研究与实现研究卡马克算法的原理用以寻找枫际神话游戏中所面临的问题的突破口,并运用卡马克算法对该游戏的地图模块进行优化,以突破资源受限的限制,提高游戏质量。4. 游戏的移植研究游戏移植中所要需要面临的问题,并归纳总结出一套移植方法,对解决各种不同手机平台的移植问题提出解决方案。1.4 论文容与安排本论文是在研究分析国外手机游戏发展状况的基础上,通过使用J2ME语言,采用Eclipse作为开发平台,WTK作为开发工具,实现各子系统,保证系统的正常运行。包括
24、友好的界面设计、提示信息的显示、有一定的机器智慧和可玩性、游戏过程的正常运行、游戏的正常退出等主要功能。本论文结构安排如下:第1章 绪论。主要介绍本课题的研究背景、国外的研究现状、简要阐述了手机游戏的特征与作者所要研究的容和主要做工作。第2章 应用开发环境的选择和相关技术。主要介绍手机游戏开发的主流技术,根据需求确认并配置本项目的开发环境。第3章 枫际神话游戏方案设计。首先说明枫际神话游戏背景、游戏模块,然后介绍其流程得设计。第4章 枫际神话游戏程序设计与具体实现。主要介绍MIDP的体系结构和关键算法卡马克算法以与各关键模块设计与具体实现。第5章 游戏测试。介绍如何进行混淆打包,并且介绍在测试
25、游戏中出现的各种BUG与解决方案和未完善的功能。最后是总结,总结全文并指出自己将来的研究方向,进行研究工作的展望与设想。1.5 本章小结第1章中介绍了手机在无线应用方向的背景和国外当今概况,提出了本文将要研究的主要容,最后对本文的章节安排进行了简要的阐述。第2章 应用开发环境的选择和相关技术下面将对开发中用到的主流技术J2ME进行介绍,解释为什么选择J2ME这门技术,以与对开发环境和开发环境中所用到的工具进行介绍和配置,对所用到的相关技术进行说明。2.1 开发的主流技术随着无线应用与嵌入式系统愈来愈受到人们的重视,Sun公司推出了J2ME平台(Java 2 Platform Micro Edi
26、tion,Java 2微型版)来迎合这一未来的发展趋势。J2ME是在1999年6月的JavaOne大会上正式被提出的,是Sun公司专门为小型的、资源受限的消费性电子设备的应用程序开发所提供的Java版本4。目前J2ME还没有能够全面地渗透到各种嵌入式设备中,而且目前最大的用途就是一些手机游戏。在手机游戏方面,J2ME平台被认为是主流的手机游戏开发平台之一,它被开发者、设备制造商、网络通信公司和消费者广泛接受。但是J2ME的用途绝对不止这些,J2ME应用的发展有赖于各种硬件厂商提供的支持。2.2 选择J2ME的原因到目前为止,手机上的应用软件开发几乎都是基于J2ME平台的。这是因为,首先,随着无
27、线Internet新应用的出现,手机软件的需求越来越大,但是如果使用C语言和专有的实时操作系统,不仅开发速度慢,而且没有动态加载应用程序的能力,导致手机上的应用程序开发很困难。一方面,单纯依靠手机厂商自身的软件开发能力难以满足市场的需求,另一方面广大的软件开发商却又无法参与进来,这无疑极制约了新应用的推广与普与。其次,目前的手机访问Internet只能通过WAP(Wireless Application Protocol)方式,而且只能访问WML(Wireless MarkupLanguage)网页,而不是主流的HTML网页,也不能显示复杂的图形格式,此外,WAP采用的Brower/Serve
28、r方式访问Internet,能提供的功能很有限,并且,因为现有的WAP解决方案不够智能化,又不能访问本地存储区,如果进行在线交易会增加服务器负荷,使服务器的反应速度变慢,使无线Internet的应用受到很大的限制。J2ME的出现则使上述问题迎刃而解。因为J2ME是基于Java语言的,所以它天生就具有以下优点:1. 动态容传输。新的应用、服务和容可以通过不同类型的网络动态下载。2. 安全。类文件校验、明确定义的应用程序编程接口和安全组件确保了第三方应用程序的行为是可靠的,不会对设备或者网络造成损害。3. 交叉平台的兼容性。标准化语言组件和库意味着由于支持J2ME配置和描述所带来的约束使应用和容可
29、以在不同设备之间灵活地传输。4. 离线获取。不用激活网络连接,应用就可以被使用。这种特点降低了传输费用,减轻了可能的网络故障带来的影响。基于J2ME的手机游戏设计与开发5. 一种功能强大的现代面向对象的编程语言。Java相对于当前用于无线软件开发的编程语言和工具来说具有更加完善的抽象机制和更高级的程序构造,这使得应用开发更加有效。6. 巨大的开发者团队。据估计,在全球有超过300万的Java软件开发者5。这些特性使第三方软件开发商可以很容易地介入应用程序的开发过程中,并且可以很方便地将应用程序安装到手机上。开发周期大大缩短,而且还能支持应用程序的动态下载和升级。J2ME提供了 协议支持,使手机
30、能以PC机使用的Client/Server方式直接访问Internet上的全部信息,此外还能访问本地存储区,提供最高效率的在线交易。将J2ME技术应用到手机上绝不是强制的,最重要的一点是这种应用是通过补充现有的技术和标准循序渐进地完成的,而不是同这些现有的技术和标准竞争。J2ME并没有为无线设备定义一个新的操作系统或者一个完整的系统软件集合,它只是定义和标准化了一种可移植的无线应用开发环境,主要是针对第三方软件开发商,将设备软件开发向第三方开放,这个环境可以灵活地附加到设备制造商开发的已经存在的软件和硬件之上,并且不会对已经存在的系统软件造成影响。2.3开发环境的介绍与配置2.3.1开发环境根
31、据以上的分析,本小组决定使用如下环境进行开发:操作系统:Microsoft Windows XP SP3 程序语言:Java开发包:Java(TM) 2 Standard Edition (1.6)Sun Micro. J2ME Wireless Tool Kit 2.5.2(Wireless Tool Kit)IDE: EclipseSDK3.32.3.2 WTK的介绍和配置方法Sun公司为J2ME标准的制定和发展作了大量的工作,其中WTK(无线通信工具包)是Sun公司提供的一个MIDP应用程序开发包,它是最常用的J2ME开发工具之一。下面将介绍J2ME WTK的安装,配置和使用方法,我们选
32、用的是WTK 2.5.2版本。由于J2ME WTK只是一个编译和模拟工具,而不是一个完整的IDE(集成开发环境),所以在后面会介绍Eclipse IDE工具。在安装WTK2.5.2之前,先尽量卸载这个软件的其他任何版本。我们将从.sun.上下载WTK2.5.2,然后双击安装程序图标,按照下面几个步骤正式开始安装:1. 首先经过解包和准备阶段,安装软件进入WTK2.5.2的安装向导起始界面,如图2-1所示,单击“下一步”按钮开始安装。图2-1 WTK安装起始界面2. 接下来安装软件会提示许可证协议,如图2-2所示,单击“接受”按钮,接受所有条款。图2-2 sun公司条款 3. 选择Java虚拟机
33、的位置(当然事先已经安装了JDK),安装程序会自动寻找,然后显示出当前虚拟机所在路径,如图2-3所示,如果没有找到则提示推出安装程序。如果装有多个虚拟机,单击“浏览”按钮可手动选择需要的虚拟机。WTK2.5.2的版本需要J2SDK5.0或更高版本才行。图2-3 选择JDK路径4. 选择好虚拟机后,单击“下一步”按钮,进入WTK安装位置的选择屏幕,单击“浏览”按钮更改默认的安装位置,这里把它安装在C:WKT2.5.2目录下,如图2-4所示。图2-4 WTK安装路径5. 确认所作的安装设置,单击“下一步”按钮,安装程序开始复制文件,直到安装成功,这样安装WTK2.5.2就完成了。 2.3.3Ecl
34、ipse和EclipseME的介绍和配置方法Eclipse是一个开发源代码的、基于java的可扩展开发平台。Eclipse相关的许可证是大多数基于Common Public License (CPL),CPL是一个为Open Source Initiative (OSI)所认可的许可证。由于Eclipse Foundation的建立,Eclipse的许可证将逐渐趋向于使用Eclipse Public License (EPL),EPL是一个与CPL相类似的许可证,正在进行OSI的认证工作。作为当今最流行的java开发IDE之一,java社群使用Eclipse以与基于Eclipse技术而来的IB
35、M Websphere的开发者已经超过了半数。Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序。在Eclipse中几乎每样东西都是插件。同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。eclipse的发行版都已经带有最基本的插件,方便了开发人员。因此,除了搭建移动开发环境之外,也可以下载Jsp插件、Tomcat插件、oss插件来进行整合,以用于JSP、J2EE的开发。EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。EclipseME并不为开发者提供无线设备仿真器,而将各手机厂商的实用仿真器紧密连接到Ecli
36、pse开发环境中,为开发者提供一种无缝统一的集成开发环境。在 eclipseme.org/上可以免费下载到EclipseME。下面我们将不介绍Eclipse的安装过程,我们直接介绍怎么部署Eclipse来开发J2ME。2.3.4使用Eclipse搭建J2ME开发平台 1. 启动Eclipse,再选择Help-Software UpdatesFind and Install命令,将会出现如图2-5所示的对话框,我们在这里选择Search for new features to install,然后单击Next按钮。图2-5 添加插件界面2. 选择New Archived Site 将Ecilps
37、eME 插件导入其中,出现如图2-6 所示对话框,选中eclipseme feature 1.7.9 site.zip,然后单击Finish按钮。图2-6 选择添加EclipseMe3. 进入选择安装协议如图2-7,选择接受所给的条款,然后单击Next按钮,直到出现Install All,单击该按钮,正式安装。图2-7 安装协议4. 接着进入安装完成界面,点击Finish完成安装,根据提示重启Ecilpse,打开Windows-Preferences,可以发现有J2ME的选项,如图2-8所示,则EclipseME插件安装成功。图2-8 插件安装检查 5. 接着选择J2ME-Device Man
38、agement,点击Import按钮,进入到Import Device选择界面,然后选择WTK的安装目录,单击Refresh按钮,出现如图2-9所示的图片。图2-9选择模拟器界面6. 点击Finish按钮,返回到Device Management的界面如图2-10所示,点击OK按钮,完成WTK的配置。图2-10 WTK配置界面2.4 本章小结第2章介绍了手机游戏开发的主流技术J2ME与选择该技术进行开发的原因,最后介绍本程序使用的开发环境与其相关工具的原理和使用方法。第3章 枫际神话游戏方案设计下面主要讲枫际神话游戏设计中需要考虑的问题,并根据该问题提出设计目标,然后对整个游戏的故事背景、游戏
39、模式和游戏模块进行介绍,最后将解释游戏的整个流程。3.1 设计需要考虑的因素移动的发展日新月异,如果试图跟上每款新式的移动的技术规,那是不切实际的。做如此的设计与开发,只能使开发和维护的成本大大的增加。因此,我们所作的工作应该是在广泛的通用的平台上构建游戏。J2ME平台为手机游戏的开发提供了一个广泛而通用的平台,但是在开发时仍然有很多因素值得去考虑。1. 移动的有限处理能力现在绝大多数的手机都支持J2ME平台,但是基本上只能提供非常有限的处理能力。移动的处理能力不足,这一点在很大程度上限制了游戏开发者所能提供的游戏类型。在目前,大多数手机都采用仪器(TI)、英特尔(Intel)或者三星(Sam
40、sung)所生产的CPU,且芯片大多数为TI OMAP850、Intel PXA272或者Samsung S3C 2442,其中TI OMAP850被运用得最为广泛,这三大处理器的工作频率分别为195MHz、416MHz以与400MHz(工作频率指的是1秒发生的同步脉冲数,用来表示CPU的运算速度)5。从上面的数据可以看出,虽然在移动的不断更新中,其处理能力也得到了加强,但是相对于台式机芯片的处理能力还是有很大差距。所以从移动的硬件来看,其处理能力还远远不能够满足处理复杂的游戏应用程序的要求。2. 受限的存储器移动等使用嵌入式技术的设备的存储能力一般有限,存储区分为ROM和RAM,其中ROM主
41、要是装载手机的操作系统和常用的软件,对程序设计来说没有多大意义。通常是在RAM中运行实际的操作系统和软件,对于运行J2ME平台的手机,即使手机可用的RAM可能有几个MB,但是提供给J2ME运行的可能就几十至上百KB而已。比如说支持MIDP1.0的手机,大部分仅支持JAR不超过64K的程序;而大部分支持MIDP2.0的手机,所支持的应用程序一般也不超过256KB。正因为如此,对于J2ME程序的运行,需要特别注意手机的存储空间问题。3. 数据传输速度基于J2ME的手机游戏设计与开发对于单机版的游戏来说基本不会存在这个问题,只要从服务商那里下载到手机里后运行即可。可对于网络游戏来说,网络上的数据传输
42、速度是游戏成功的关键之一。现在支持J2ME的手机,除了3G以外,有CDMA和GSM两种规格。在中国目前的运营商中,CDMA才有了接近于3G的CDMA1X技术,峰值传输速率可以达到153.6Kbps6,而GSM手机采用GPRS技术,可以达到50.6Kbps的峰值速率6,一般来说只要支持上述两种技术的手机,都可以使用Internet。而传输带宽在一般情况下,CDMA1X可以达到120Kbps左右,而GPRS只有40Kbps左右。这给通过网络进行传输数据的网络游戏的开发带来了很大的制约。4. 移动的可视屏幕尺寸有限移动的可视屏幕都不是很大。除此之外,对于开发者来说,还有一点比较头痛的事情就是没有一个
43、“标准”的可视屏幕的大小,全都依赖于所开发游戏的目标移动的可视屏幕大小。型号的不同,往往意味着可视屏幕大小的不同,也意味着处理的增加。对于特殊型号的移动所定制的图像和代码在适应性和可移植性上就显得很差了。5. 颜色对于手机屏幕的色彩来说,同一个色彩在不同的手机上表现也不一样,这个依赖于硬件的颜色表。为了达到最大的视觉冲击力和表现效果,应尽量使用基本的颜色而不使用各种渐进色。由于移动的存比较有限,所以在表现颜色方面必须小心,才能用较少的存来完成工作,资源文件的大小也要小心控制。6. 音效问题移动的音效在逐步的提高,但其表现力还是不能令人满意。在游戏中音效的表现与控制也是要注意的。尤其是对于当前的
44、J2ME平台上的游戏应用来说,声音的表现力是一个软肋。在控制方面的代码编写上,也时常令人头疼。7. 移植性问题对于不同的移动所提供的能力,移植问题也是要多加考虑的。对不同标准、不同协议的支持,可视屏幕的大小不同,诸如此类的问题都是要在开发中注意的。8. 按键问题对于移动的使用者来说,同时按键和连续按键都是习惯的操作手法。当前的移动对于同时按键是不提供支持的,对连续按键的支持也要游戏的开发者特殊处理。3.2 设计目标基于移动的硬件条件(尤其是其处理能力和物理存)以与J2ME平台的枫际神话设计与实现特性,需要实现以下目标:1. 可用性2. 模块化设计3. 可移植性4. 易测试性5. 性能良好3.3
45、 游戏介绍此游戏为A-RPG动作角色扮演类游戏。游戏实现的主要功能:主人翁可以用手上的武器去砍杀敌人,可以和NPC对话了解任务,怪物死亡得经验并且有一定几率掉落物品,有很简单的故事情节。由于这里展示的是游戏的制作技术,游戏的策划并不是重点,本游戏容不是很丰富,但是A-RPG游戏的简单基本元素都包含有了。3.4 游戏背景中华文化源远流长。在历史长河中,有过这样的一段文化史:古八贤之一程旼有个门徒叫枫,此人擅长于剑术、开锁、五行之术(金木水火土)与御风术,为了救一个叫玲珑的姑娘,他运用自己所学的武功,冲破了一道道难关,最后救出了玲珑,而他的传奇也一直成为佳话。玲珑:一个令枫相中,且相貌出众、擅于歌
46、舞、琴棋书画样样精通的女子。欲,据说是一个蚩尤的后代,他千里迢迢从黄河边赶到了岭南,并在一次意外知道了玲珑此人,便把玲珑抓了去,并在藏玲珑的去处的地方埋伏了许多刀斧手,其中各个都是身怀绝技的高手。3.5游戏模块3.5.1 游戏的主要模块本游戏主要包括以下几个模块:1. 地图模块地图是供主角、NPC、敌人活动的场所,是游戏正常进行必不可少的要素之一。地图模块可以细分为地图的生成和绘制。地图绘制将对应着地图资源的图片,根据主角在地图中的位置将地图的一部分绘制在屏幕上,供主角、NPC 、敌人在上面活动。2. 主角模块主角模块主要包含主角的各种动作例如行走、跑步、攻击等各种不同的动作,还包含有主角对各
47、种动作的响应机制如攻击围、碰撞围等。3. 敌人模块敌人模块主要包含敌人所处的方位,攻击方式以与主角跟踪等不同的元素,使敌人实现智能化跟踪并攻击主角。4. 系统菜单模块系统菜单模块主要包括查看主角状态、装备等信息,关闭音乐和退出游戏等功能。5. 键控模块键控模块主要包括对手机按键事件进行处理,控制主角进行移动和下一步需要进行的动作。6. 游戏主绘制模块游戏主绘制模块主要控制界面的切换和对事件进行相应的处理,调整游戏的状态并将其显示出来。3.5.2 游戏的总体框架各模块之间的关系如3-1图所示:图3-1 模块结构框架主角模块、敌人模块、地图模块分别处理各种的主角信息、敌人信息、地图信息,将处理好的容交给游戏主绘制模块,主绘制模块根据当前的状态进行选择性地选择需要的数据进行显示,当游戏有变化时,主绘制模块会根据游戏的变化来进行相应的状态处理,将状态调整为当前玩家通过按键所选择的,玩家想要看到的画面,各个模块之间相互配合,完成对整个游戏的绘制和显示。3.6游戏的基本流程游戏的基本流程如图3-2所示图3-2 基本流程图 游戏的基本行为与电影的行为相似。首先回想一下电影,电影由一幅幅连续记录的画面组成,“
限制150内