J2ME手机游戏开发引擎的分析与设计Word文档下载推荐.docx
- 文档编号:17859100
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:10
- 大小:100.79KB
J2ME手机游戏开发引擎的分析与设计Word文档下载推荐.docx
《J2ME手机游戏开发引擎的分析与设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《J2ME手机游戏开发引擎的分析与设计Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
1.2与课题相关的国内外研究综述1
1.3本文的主要工作内容2
第2章相关技术和可行性分析2
2.1游戏引擎相关技术2
2.1.1编程语言技术要求2
2.1.2开发环境技术要求3
2.1.3J2ME游戏技术要求3
2.1.4其他要求3
2.2游戏引擎的可行性分析3
2.2.1技术可行性4
2.2.2市场可行性4
2.3本章小结5
第3章J2ME手机游戏引擎设计5
3.1引擎功能和用户使用流程设计5
3.1.1引擎运行环境需求5
3.1.2基本功能划分5
3.1.3用户使用流程7
3.2生成代码结构设计7
3.2.1模式结构设计8
3.2.2类结构设计8
3.3本章小结9
第4章J2ME手机游戏引擎开发计划9
4.1资金申请计划9
4.2引擎开发计划9
4.3本章小结10
结论11
参考文献11
致谢12
第1章绪论
1.1开发的目的和意义
J2ME作为SUN公司推出的面向嵌入式的JAVA版本,可是说是JAVA语言对于嵌入式方面的一种回归。
从1999年正式推出到现在,已经经历了8年时间的发展而不断壮大。
从最为基本简单的MIDP1.0到现在可以满足用户大部分要求的MIDP2.0,J2ME能够为用户提供的功能越来越丰富和复杂。
随着各大手机生产商对J2ME标准的支持,利用J2ME开发的手机应用程序也越来越多。
其中,基于J2ME开发的手机游戏,由于其可移植性和快速开发的优势而在手机游戏市场占据了很大的份额。
SUN公司为J2ME的使用者提供了一套封装得很好的API接口,它方便而且丰富。
但是,由于这套API并不是完全是针对手机游戏开发而设计的,因此对于游戏开发来说,有些地方它并不完美。
而且从我们做游戏开发的经验来看,一个小型的手机游戏中有很多地方代码结构是相同的,比如开始动画、游戏菜单等。
于是,开发一套可以为我们编写代码框架的J2ME手机游戏开发引擎对于提高游戏的开发速度是很有帮助的。
期望通过这套引擎,让用户可以通过配置一些参数就可以完成开始动画、游戏菜单的自动生成等工作,同时辅助一些像重力系统这样的游戏环境搭建功能,使代码可以重复使用,并让开发人员把更多的精力和时间放到游戏算法和逻辑的设计开发上。
这样,一个简单的小游戏,便可以在一周左右的时间内完成,并投入使用。
最终,利用本引擎可以更快更好地开发J2ME手机游戏,同时也根据新的游戏需要,为本引擎添加新的功能,使本引擎在辅助开发的同时自身也不断优化丰富。
1.2与课题相关的国内外研究综述
J2ME在国内的发展远远不如国外,对于游戏引擎的相关开发也仅仅查到一点不很完全的资料,真正在做的人也很少。
在这种程度上说,国内的J2ME游戏引擎的开发仍是一个空白。
国外方面这方面的资料相对多一些,但并不系统,仅仅有一些关于游戏引擎程序结构简述,涉及的也是MIDlet这个类和显示类这两个部分的类结构。
有些论坛说在开发类似的东西,但看不到具体的设计和进度。
总体来说,从现有的资料来看,J2ME手机游戏引擎的开发或者研究在国内外都没有太大进展,这对于我们来说是一个挑战,也是一种机遇。
1.3本文的主要工作内容
本文主要论述开发一个J2ME手机游戏引擎的可行性、所需相关技术,并对这样一个游戏引擎做较为详细的功能定义。
第2章相关技术和可行性分析
2.1游戏引擎相关技术
开发这样一个J2ME手机游戏引擎需要的技术要求很多,下面从编程语言技术要求、开发环境要求、J2ME游戏技术要求和其他方面来分析所需技术。
2.1.1编程语言技术要求
JAVA这门面向对象的编程语言,由于它和J2ME的紧密相关性而被选择来作为J2ME手机游戏引擎的开发语言。
因此,开发者应当对JAVA语言的语法和图形界面开发足够熟悉并要有一定的项目经验,对面向对象的分析、设计和编程有足够的认识和了解。
可以合理地利用设计模式[2]来增加引擎程序和生成代码程序的可扩展性,利用JAVA的某些特性来解决遇到的一些实际问题。
2.1.2开发环境技术要求
本引擎计划采用SUN公司的NetBeans5.5或者更高版本来开发,因此开发人员应当对这个IDE开发环境足够熟悉,最好有一些项目经验。
在开发最后阶段有可能将这个引擎做成基于NetBeans的插件形式发布,需要开发人员对开发NetBeans的插件的基本方法有所了解。
2.1.3J2ME游戏技术要求
本引擎的基本功能就是编写一个能够为用户自动生成J2ME代码的应用程序,因此,引擎开发者应当对J2ME手机游戏的基本结构有比较深的认识,必须有至少一个J2ME手机游戏的开发经验。
这样才能保证引擎自动生成的代码的正确性和简洁性。
2.1.4其他要求
这样一个引擎的开发需要具有创新性,即可以想到利于用户使用的功能和操作方式,同时方便产生J2ME应用程序的代码。
这样开发出来的产品既方便我们使用,同时也更具有销售市场。
由于这个项目比较大,因此开发人员需要具有一些项目的开发经验和软件工程的基本知识,同时对于文档的编写也要认真详细。
项目负责人应该有管理项目的经验,可以合理把握项目进度,预测隐藏的危机和风险。
团队合作对于一个项目组来说也很重要,组员应当具有团队合作的意识、互相交流的能力。
2.2游戏引擎的可行性分析
游戏引擎的可行性分析主要从技术可行性和市场可行性这样两个方面来论述。
2.2.1技术可行性
上文已经分析了开发这样一个J2ME手机游戏引擎所需要的各种技术,那么对于“WeRun”俱乐部中现在的J2ME手机游戏开发小组来说,开发这样一个引擎技术上是可行的。
首先,JAVA语言是软件学院的教学课程之一,组员中大二和大三的同学都学习并使用过;
其次,至今为止,小组的成员已经开发了7个成品的J2ME手机游戏,大家对于J2ME手机游戏的结构和可以重复使用的代码模块都有清楚的认识;
再次,开发中所需的某些设计模式和技术在已完成的游戏和平常其他项目的开发中都有所使用,因此比较熟悉;
最后,经历过游戏项目的磨练,组员的团队合作意识和交流能力都有很大提高,对于一个项目的文档和管理工作负责人也很清楚。
综上可见,在技术方面,我们已经具备了开发这样一个手机游戏引擎的成熟条件。
对于比如NetBeans插件的开发这样比较生疏的技术问题,相信凭借大家共同的努力和互联网丰富的资料,都是可以解决的。
2.2.2市场可行性
这样一个项目首先的主要用途是辅助小组开发手机游戏,因此商业用途不是首先要考虑的问题,市场可行性也就显得不如技术可行性那么重要。
但是,作为一个项目,如果能够将产品成功推入市场,对于我们来说也是一个挑战。
由于NetBeans是一个使用最为普遍的J2ME游戏开发IDE环境,因此提出了最后把引擎制作成基于NetBeans的插件形式的想法。
这样,利用NetBeans的IDE环境,把游戏引擎做成收费插件的形式,对于下载插件的用户进行收费,是一个获取商业利益的合理方法。
另外一个问题是市场是否需要这样的J2ME手机游戏引擎。
由于时间和能力有限,我没有对这一问题做详细的市场调查,但是,从现在的情况来看,J2ME手机游戏的开发者越来越多,而国内外还没有类似的产品推出,这在市场上是一个空白。
可以推测,如果本引擎能够为用户提供方便的操作,生成高效的代码,它的市场前景是广阔而乐观的。
2.3本章小结
本章首先对开发J2ME手机游戏引擎所需要的相关技术从多个方面进行了论述,然后基于这些所需的技术结合俱乐部现今的具体情况对其可行性进行了技术和市场两个方面的分析,得出开发这样一个游戏引擎是可行的结论。
第3章J2ME手机游戏引擎设计
3.1引擎功能和用户使用流程设计
引擎功能及用户使用流程可划分为软件运行环境需求、基本功能设计、用户使用流程等方面来进行描述。
3.1.1引擎运行环境需求
本引擎开发使用JAVA语言,因此,可以运行在安装了JAVA虚拟机的任何机器上运行,对操作系统没有限制。
硬件方面当今主流的PC机的配置运行本引擎完全没有问题。
但是鉴于J2ME的主流开发是NetBeans,因此等技术成熟之后,会计划开发以NetBeans插件形式的版本。
这样就需要安装NetBeans5.0以上的版本才可以安装使用个人开发的插件。
3.1.2基本功能划分
引擎最初始的版本计划界面基于J2SE的swing窗体,主要操作部分有:
●一个玩家可以拖放图片的手机屏幕模拟窗口;
●功能菜单,具有打开项目、打开文件、关闭项目、关闭文件等功能;
●属性窗口,可以查看各控件(主要是图片)的属性,并做修改;
●文件和资源列表,可以让用户打开查看各个文件;
●工具栏,提供给用户快速操作的工具按钮。
最初版本计划具有的基本功能如下:
1.自动生成开始结束动画:
用户只需要建立项目后在指定文件夹下放置自己做好的开始画面图片,然后设置各张图片的顺序和间隔时间以及放置位置,便可以为用户自动生成一段简单的开始动画代码。
2.自动生成用户菜单:
用户需要在建立项目后在指定文件夹下放置所用图片,然后选择设计用户菜单功能,将加载的菜单图片拖放到想要的位置,输入各个菜单对应的函数入口名称,就可以生成用户菜单代码。
3.构架游戏环境:
用户建立项目后可以为游戏选择一个游戏环境,它包括基本的无重力环境和重力环境[3]两种。
前者不会为程序添加任何代码,后者会生成一个可以让用户设置重力方向、重力加速度g的大小等的类。
这样,用户不要编写任何代码就可以编写具有重力效果的游戏。
4.辅助游戏背景的铺设
这个功能主要是为一些飞机游戏提供移动的背景铺设,譬如星空、沙漠等。
可以使用引擎自带的图片,也可以使用自己制作的图片。
引擎可以为用户生成一段开辟一个线程来绘制和控制背景图片的代码。
5.记录型数据库的操作
J2ME提供一种小型的数据库来使程序可以永久地保存数据信息,由于它是记录型的,因此被称为记录型的数据录(RMS)。
一般游戏对于它的使用都是相同的,用于记录最高分等。
于是,用户可以选择要存储的数据类型和相应的存取函数名,便可以生成操作RMS数据库的代码。
用户在建立项目后会自动生成继承自MIDlet主类GameMIDlet和一个继承自Canvas的画布类。
在GameMIDlet中的游戏整个生命周期的各个函数都会被添加相应的内容。
然后用户可以通过菜单选择添加以上功能中的各个部分,相应的代码会在不同的位置进行自动添加,以实现用户设定的功能。
3.1.3用户使用流程
引擎用户主要的使用流程如下图2-1所示:
图2-1
3.2生成代码结构设计
根据以上功能的定义,从模式结构和类结构两个方面对引擎将要生成的代码进行设计。
3.2.1模式结构设计
为了方便代码的添加和功能的扩展,游戏代码主体的各种状态转变采用状态模式来管理和控制。
于是,开始动画、菜单选择、游戏进行、游戏结束等都是游戏中的一个个不同状态,用不同的状态类对应它们,并由这些状态来控制它们之间的转换。
这样,用户只需要添加相应的游戏状态,然后实现它的构造函数、paint绘制函数、按键事件处理函数、命令控制函数等就可以做到添加新的状态而不需要改变原来的代码。
由用户设定后经引擎添加的代码添加到相应处理函数的位置即可。
状态模式[4]的标准类图如图3-1:
图3-1
3.2.2类结构设计
J2ME需要的主体类有继承自MIDlet的主类和继承自GameCanvas的画布类,它们分别主要实现一个游戏整个生命周期的控制和画面显示、游戏逻辑流程的控制。
由于使用状态模式,所以项目建立时即生成一个State类,定义所有需要的函数,其他由引擎用户添加的状态类继承自它,并以用户输入的状态名加字符串“State”作为类名。
3.3本章小结
本章描述了引擎的运行环境,并对引擎功能进行了基本的概略定义,同时给出了用户使用时的基本流程图。
根据这些功能,对游戏引擎将为用户生成的J2ME游戏代码进行了模式和类两方面的设计,对于游戏引擎的开发具有指导意义。
第4章J2ME手机游戏引擎开发计划
4.1资金申请计划
本引擎的开发主要由哈尔滨工业大学(威海)软件学院提供资金支持。
根据具体需要,资金主要用于一些电子资料的购买、真实手机测试花费、网络模块测试花费和开发人员酬金等部分,计划申请资金2000元。
4.2引擎开发计划
整个开发阶段主要依据软件工程中一个项目开发的九个阶段来管理,在此不做详述。
其主体的开发过程设计如下:
第一阶段:
拓展需求分析和细化功能定义。
通过组员的讨论,希望对引擎具有的功能进行进一步的扩展和更为详细的定义,同时对于实现上的难点进行分析,并提出初步解决方案。
第二阶段:
开发各种功能的类,研究图形界面处理。
这一阶段可以将小组分为两个部分,一个部分组员可以去编写功能定义中的各个基本固定的类,另外一部分组员去设计和研究JAVA的图形界面。
第三阶段:
整合界面和功能,实现基本的引擎。
这是一个整合阶段,将前面完成的功能进行合并,将前台设计的用户操作界面和后台生成代码程序结合起来,实现用户通过界面操作设置不同的参数属性可以生成不同代码的引擎功能。
第四阶段:
对生成代码进行优化,调试。
这个阶段主要是对生成代码的结构和格式进行优化,去除其中不适合的部分,并尽力提高代码运行效率。
4.3本章小结
本章主要描述引擎开发需要的资金和它的开发计划主题部分的四个阶段。
通过这些描述,对引擎的开发花费进行粗略的估计,让开发者对开发流程有一个基本的概念,以利于项目的进展。
结论
本文首先对J2ME手机游戏引擎这个项目的意义和目的做了较为详细的描述,并对国内外的情况进行了概略的说明。
然后,结合俱乐部现在的真实情况,通过技术和市场两个方面进行可行性分析,得出开发这样一个系统,J2ME小组已经具备了技术等各个方面的条件的结论。
接着,从功能定义和用户使用流程两个方面对游戏引擎进行了设计,得出了基本功能描述和用户使用流程图。
对于引擎中将使用的设计模式也给出了一个简单的说明和分析,并由此得出各个类的基本层次结构。
最后,给出了引擎开发的计划,对开发流程进行了说明。
通过本文,对J2ME手机游戏引擎的开发有了一个简单的分析和设计,对下一步要做的工作订立了明确的目标。
参考文献
1詹建飞.J2ME开发精解.电子工业出版社.2006-1-1
2李振鹏,龚剑.J2ME手机游戏开发详解.清华大学出版社.2006-3-1
3(日)米川英树.J2MEMIDP手机游戏程序设计.中国铁道出版社.2005-1-1
4(美)MARTINJ.WELLS.J2ME游戏编程.清华大学出版社.2005-11-1
致谢
值此论文完成之际,谨向给予我无私帮助的老师和俱乐部的同学们致以最诚挚的谢意!
感谢“WeRun”俱乐部的负责人杜宇老师和朱东杰老师。
在我学习J2ME和设计这样一个J2ME手机游戏引擎系统的时候,他们都给了我很大帮助和宝贵的建议,而且在生活上也关怀备至。
感谢我的04级学长张中原同学。
是他最初提出这样一个创意,并编写了最早的可行性分析文档,虽然现在那份文档因为种种原因无法找到,但是他给了我这样一个想法并付诸实施。
张中原学长对项目的严谨态度和无尽的激情永远是我学习的榜样。
在本论文的完成过程当中,同样感谢软件学院“WeRun”俱乐部的同学们,是他们给予我很多建议和意见,并通过讨论让我对设计的引擎功能有了更为清楚的认识,改正了设计上存在的一些问题。
还有许许多多在我完成这篇论文期间曾给予我帮助、支持的人们,在此我真诚地道一声:
谢谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2ME 手机 游戏 开发 引擎 分析 设计