基于java的手机游戏系统的设计与实现.docx
《基于java的手机游戏系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于java的手机游戏系统的设计与实现.docx(31页珍藏版)》请在冰豆网上搜索。
基于java的手机游戏系统的设计与实现
毕业论文(设计)
开题报告书
论文题目基于java的手机游戏系统的设计与实现
姓名黄飞扬
学号201201327046
入学年月2012年9月
院系电子信息学院
专业软件技术
指导老师甄春成
填写日期:
______年___月___日
论文题目
基于java的手机游戏系统的设计与实现
选题的背景及意义:
从小屏按键手机到大屏触控手机,从非智能平台再到智能平台,我们可以直观的发现手机愈加的贴近人们的生活。
可以说今天的手机已经从单纯的通讯工具转变为一个集通讯、音乐、电影、游戏等多功能于一身的便携终端。
手机的综合价值越来越高,这使得人们对它的依赖性越来越强。
我们可以清楚的看出,现在的生活节奏正在变快。
人们除了工作和学习之外,还要花费不少的时间在往返的路途上,当然也就没有太多时间呆在电视机前,这一现状自然而然的激发了移动终端(手机、掌上游戏机)的飞速崛起。
在掌上游戏机系列中,任天堂的NDSL、索尼的PSP已经被我们所熟知,成为了很畅销的游戏机。
但是从近几年来看,我们发现手机游戏正在潜移默化的侵蚀着掌上游戏机的市场份额,当然这种“侵略”是有依据的。
目前在手机上看到的已经不再是当年简单的贪吃蛇。
各种各样庞大、精美的手机游戏已经走进我们的生活。
甚至一些电脑上出色的网游魔兽世界也有了手机终端中的复刻版,这些都让忙碌的我们感受到了不一样的乐趣。
Java在移动设备上的功能实现也越来越具影响力,为丰富人们的生活,提供服务等方面提供了诸多方便。
本文主要介绍一款基于Java语言开发的手机游戏——贪吃蛇,该设计主要是应用J2ME技术,结合JDK1.8.0,使用IDEEclipse4.4与EclipseMe1.7.9作为开发工具,以SunJ2MEWirelessToolKit2.5.2软件作为模拟测试工具的综合性的开发设计。
本设计主要是对手机游戏的开发过程的各个环节做了详细的介绍,其中包括:
手机游戏开发平台的搭建与测试、具体设计及开发步骤、软件测试运行与打包生成等,实现了经典游戏——贪吃蛇的手机嵌入,以便满足一些手机用户的娱乐需求。
选题的构思与设想:
论文主要章节:
摘要
ABSTRACT
1.绪论
2.手机游戏
2.1手机游戏现状
2.2手机游戏分类
3.程序开发语言
3.1JAVA
3.2JAVA程序开发流程
3.3JAVA语言的特点
4.开发环境及相关技术介绍
4.1开发环境
4.2JDK
4.3WTK
4.4ECLIPSE与ECLIPSEME
5.游戏的开发与实现
5.1游戏工程及程序的建立
5.2手机中的坐标系
5.3游戏的具体实现环节
5.4具体编程的实现
6.结论
参考文献
答谢
程序中存在的问题:
开发移动游戏与传统游戏的开发有很多不同,想开发有吸引力的移动游戏尤其困难。
这比开发控制台游戏或PC游戏更困难,因为众多的设备具有不同的存贮器、声音和显示性能。
除此之外,你还必须合理利用J2ME这样的开发环境。
开发移动游戏需要一套与普通游戏不同的方法和思路。
移动游戏的预算很小而且时间安排很短。
这个平台有许多种硬件和软件的组合,并且在硬件厂商之间没有多少共同点。
第一、花费更多的时间用来设计。
开发者都有想用最简捷经济的方式做事的倾向。
然而,为了创作一个世界第一流水平的游戏,你就必须使用世界第一流水平的开发过程。
关键步骤是设计思路、试制、生产和产品质量检测。
然而,因为设备和移动运营商的多样性,开发者不得不花费更多的时间用于前期的计划。
这就存在这一种风险,那就是一个设计可以用于一种设备,但是可能就不能用在另一种设备。
第二、像在PC中一样,为硬件的"最小公分母"(lowestcommondenominator)开发,这意味着你的代码不能对硬件和操作系统以及程序设计语言之间的交互抱过高幻想。
第三、类似于硬件中的问题,开发两个API之间的基本功能。
比较软件开发环境和围绕它们的不足进行针对性设计。
开发者必须花费更多的时间了解这两个平台,但是最后的效果是很值得的。
1.操作坏境的不兼容问题:
本论文讲述的移动开发环境是J2ME,J2ME是获得美国大部分移动运营商支持的移动应用开发平台。
J2ME是一个解释语言,运行在有虚拟机的任何操作系统上,通常运行速度很慢,而且在优化代码上有许多的困难。
在过渡期间,为这个环境开发游戏成为一种挑战。
例如,BREW1.0支持掩盖的位图传送(Masked-Blit),而J2MEMIDP1.4不支持。
而且,一些J2ME手机不支持声音。
所以你的代码不应该使用掩盖的位图传送支持或者声音支持。
比如说,如果你创建自定义位图字体,你可能认为你需要掩盖的位图传送。
然而,你可以使用提前修正背景色来创建字体位图。
这两个平台可以在载入一个文件的时候改变调色板,允许动态的调整字体背景色,但是文本必须出现在固定的背景上。
2.显示速度方面的问题:
在移动游戏开发过程中,最大的问题是缺乏对显示速度的重视。
虽然移动运营商已经选择了强大的处理器和彩色的显示屏,但是他们忽略了对于游戏来说至关重要的一个方面。
手机使用许多绘制程序,一些支持双缓冲技术,而另一些不支持。
在某些情况下,可以更容易的直接绘制到屏幕上。
直接绘制到屏幕有时比双缓冲更快。
然而,使用低刷新速率在屏幕上绘制大的图像可能会引起闪烁。
造成这一问题的原因在于,画面在显示的同时,程序又在改变它,于是画面闪烁。
3.不同屏幕尺寸问题:
图形是游戏的一个关键的方面,描画速度是一个重要的程序函数。
不同于控制台游戏和PC游戏,移动设备没有标准的屏幕尺寸或者长宽比,这就导致了很多兼容性问题。
开发者可以通过编写非常灵活的背景和前景描画程序来解决这个问题。
关键是创建一个允许快速扩展或者缩小游戏视窗的架构,并且不使图像变形或者生成让人看上去觉得别扭的屏幕比例。
当然,你有很多方法来处理这个问题,最坏的情况就是你可以为每种手机的显示屏重新设计图形。
或者,你还可以动态地调节你的游戏背景和其它图形。
4.输入问题:
输入要么成就要么毁掉一个游戏体验。
游戏一般都需要快速响应的反馈。
不然的话,你的游戏就会感觉有点迟钝。
在过去,移动电话不需要能够快速响应的按键,因为拨电话号码没有那种需要。
现在,这就有了一些问题,如果你的按键响应速度很慢,你的游戏反馈就会很慢,而且不幸的是没有解决办法来提高它的速度。
而且,大部分的手机不支持同时按下多键,而这又是格斗类游戏所必须的。
因此是否能够解决好这方面的问题就显得尤为重要了。
技术路线与研究方法:
技术路线:
论文的主要是论述用J2ME技术在手机游戏制作开发中的应用,以一款贪吃蛇手机游戏为实例具体讲述了运用J2ME制作手机游戏。
搭建JDK坏境,使用WTK开发工具包,在“Eclipse+EclipseMe”的平台下开发程序,使游戏系统得以实现。
研究方法:
1.文献研究法,查找相关资料,找一些相关代码,用JDK查找相关方法,在论坛、贴吧等各种网站寻找程序中遇到的各种问题的解决方法;
2.理论与实际问题相结合的方法,分析用户需求,在对各种系统开发平台、开发技术、开发坏境、数据库技术等各方面的比较下,选择相对较佳的方案;
3.利用UML建模方法进行分析建模以及设计建模,并进行实际操作调试,从而实现本系统的具体功能;
4.系统分析与逻辑辩证分析相结合的方法。
进度安排及各阶段主要任务:
1、2014年11月1日前完成毕业论文的选题填写开题报告
2、2014年11月15日前拟定论文题目及写作大纲了解开发环境
3、2014年12月25日前毕业设计的初次实现及修改
4、2015年1月1日前毕业设计的完善
5、2015年1月5日前完成设计论文初稿
6、2015年1月6日前完成设计论文终稿
主要参考资料与技术条件:
参考资料:
[1]詹建飞《JavaMe核心技术与最佳实践》,北京:
电子工业出版社,2013年;
[2]张鹏《3D手机游戏开发实例教程》,北京:
电子工业出版社,2013年;
[3]石民勇、税彬彬《手机游戏设计与制作教程》,北京:
中国传媒大学出版社,2014年;
[4]杨邵芳、王颖、林锦全《Java程序设计基础》,北京:
科学出版社,2012年;
[5]张鹏《3D手机游戏开发实例教程》,北京:
电子工业出版社,2009年;
[6]李兴华《Java开发实战经典》,北京:
清华大学出版社,2014年;
[7]徐明华、邱加永、纪希禹《Java基础与案例开发详解》,北京:
清华大学出版社,2014年;
[8]王国辉《Java程序开发参考手册》,北京:
机械工业出版社,2013年。
技术条件:
本次毕业设计通过应用Java技术,结合JDK1.8.0,使用IDEEclipse4.4与EclipseMe1.7.9作为开发工具、SunJ2MEWirelessToolKit2.5.2软件作为模拟测试工具的综合性设计,实现了手机游戏的开发与设计。
指导老师意见:
指导老师签名:
年月日
湖南信息学院
毕业论文
基于JAVA的手机游戏系统的设计与实现
学生姓名:
黄飞扬
学号:
201201327046
年级专业:
二〇一二级软件技术
指导老师:
甄春成
二级学院:
电子信息学院
摘要……………………………………………………………………………………………1
摘要
从小屏按键手机到大屏触控手机,从非智能平台再到智能平台,我们可以直观的发现手机愈加的贴近人们的生活。
可以说今天的手机已经从单纯的通讯工具转变为一个集通讯、音乐、电影、游戏等多功能于一身的便携终端。
手机的综合价值越来越高,这使得人们对它的依赖性越来越强。
我们可以清楚的看出,现在的生活节奏正在变快。
人们除了工作和学习之外,还要花费不少的时间在往返的路途上,当然也就没有太多时间呆在电视机前,这一现状自然而然的激发了移动终端(手机、掌上游戏机)的飞速崛起。
在掌上游戏机系列中,任天堂的NDSL、索尼的PSP已经被我们所熟知,成为了很畅销的游戏机。
但是从近几年来看,我们发现手机游戏正在潜移默化的侵蚀着掌上游戏机的市场份额,当然这种“侵略”是有依据的。
目前在手机上看到的已经不再是当年简单的贪吃蛇。
各种各样庞大、精美的手机游戏已经走进我们的生活。
甚至一些电脑上出色的网游魔兽世界也有了手机终端中的复刻版,这些都让忙碌的我们感受到了不一样的乐趣。
Java在移动设备上的功能实现也越来越具影响力,为丰富人们的生活,提供服务等方面提供了诸多方便。
本文主要介绍一款基于Java语言开发的手机游戏——贪吃蛇,该设计主要是应用J2ME技术,结合JDK1.8.0,使用IDEEclipse4.4与EclipseMe1.7.9作为开发工具,以SunJ2MEWirelessToolKit2.5.2软件作为模拟测试工具的综合性的开发设计。
本设计主要是对手机游戏的开发过程的各个环节做了详细的介绍,其中包括:
手机游戏开发平台的搭建与测试、具体设计及开发步骤、软件测试运行与打包生成等,实现了经典游戏——贪吃蛇的手机嵌入,以便满足一些手机用户的娱乐需求。
关键字J2MEWTKEclipse
ABSTRACT
Frommobilephonestoscreentouchscreenbuttons,fromtheintelligenceplatformtointelligenceplatform,wecandirectlyfindmobilephonesmoreandmoreclosetopeople'slife.Today'scellphonewasalreadyfromthesimplecommunicationtoolsintoasetofcommunication,music,movies,gamesandothermulti-functionalportableterminal.Mobilephonecomprehensivevaluemoreandmorehigh,thismakespeoplemoreandmoredependentonit.Wecanclearlysee,nowliferhythmisfaster.Inadditiontoworkandstudy,peoplestillspendalotoftimeonthewaybackandforth,ofcourse,thereisnomuchtimetostayinfrontofthetelevision,thepresentsituationofnaturalinspiredmobileterminal(mobilephone,PSP)rapidrise.IntheirseriesofPSP,nintendo'sNDSL,SONYPSPhasbeenasweknow,hasbecomeaverypopulargame.Butfromthepointofviewinrecentyears,wefoundthatmobilephonegamesgraduallyerodedthemarketshareofPSP,ofcourse,thiskindof"aggression"isbasedon.Seenowonthephoneisnolongerasimplesnake.Avarietyoflarge,elegantmobilegamehascomeintoourlives.Evensomeexcellentcomputeronlinegameworldofwarcrafthascomplexengravingofthemobileterminal,whichmakesthebusywefeltthedifferentfun.
Javainthefunctionrealizationofthemobiledeviceisalsomoreandmoreinfluentialforrichpeople'slifeandprovidingservicesofferedmanyconvenient.ThispapermainlyintroducesamobilegamesnakeofJavalanguagedevelopment.Thisdesignisacomprehensivedevelopmentdesign,whichmainlyapplied1.8.0JDKJ2MEtechnology,combinedwiththeEclipse,useIDEEclipseMe1.7.9as4.4developmentTool,ToolKitto2.5.2fromJ2MEWirelesssoftwareassimulationtesttools.Thisdesignismainlytothemobilegameseverypartsofthedevelopmentprocessaredescribedindetail,including:
thecellularphonegamedevelopmentplatformandtesting,specificdesignanddevelopmentsteps,softwaretest,operationandpackagedgeneration.Realizetheclassicgame-snakephoneembedded,inordertomeetsomecellphoneusersentertainmentdemand.
KeyWords:
J2ME,WTK,Eclipse
1.绪论
任何游戏在设计之初,所面向的目标群体的定位都不尽相同,自然的影响游戏设计的动机也会不同,受到游戏设计导向和动机的影响,任务的设计目的大体可分为:
提升游戏娱乐性、使玩家压抑释放、获得心里满足、同时也可视为一种赚钱的手段。
随着3G技术的普及和应用,基于Java的开发软件在手机上的使用非常的广泛,手机增值服务的内容也是越来越多,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。
在这个信息社会中,随着信息网络化的不断进展,手机游戏越来越多的走进人们的工作和生活。
其中现在国内从图形化游戏开发的主流技术来看,包括:
基于嵌入式游戏开发与设计、基于Java游戏开发与设计、基于Brew游戏开发与设计、基于Uni-java游戏的开发与设计、手机网络游戏的开发与设计等。
其中随着3G技术的飞速发展,Java手机游戏具有更大的市场优势。
本设计通过查阅相关书籍,研究手机游戏开发与设计的整体设计流程及设计思路、学习并使用Java语言进行程序的编写及运行调试,完成基于Java语言的手机游戏的开发与设计。
2.手机游戏
2.1手机游戏现状
在信息和网络高速发展的今天,手机已经成为不可或缺的通讯工具,它的普及速度之快,让人瞠目,在短短的几年间,手机及其它无线设备已经走进了普通百姓的工作和生活。
众所周知,手机的规模越来越壮大、功能也越来越强大,而游戏也已成为手机上不可缺少的功能,目前,手机游戏业正在以良好的发展前景飞快发展着,而且将进入一个高利润的稳定增长期。
2.2手机游戏分类[1][2]
随着信息技术的飞速发展,手机游戏的逐渐的多样化,具体分类归纳如下表⑴所示:
游戏形式
文字类游戏
短信游戏
wap浏览器游戏
图形类游戏
嵌入式游戏
java游戏
brew游戏
uni-java游戏
画面形式
纯文字手机游戏
2D手机游戏
3D手机游戏
表⑴手机游戏分类列表
短信游戏:
玩家和游戏服务商通过短信中文字的内容来交流,达到游戏目的的一种文字游戏。
一般玩家通过回复短信的形式来进行游戏,游戏单调、枯燥无味。
Wap浏览器游戏:
通过手机上网,使用浏览器浏览网页来进行的一种文字游戏,玩家根据Wap浏览器浏览到的页面上的提示,以选择不同的选项的方法来进行游戏,游戏不够直观、单调无趣。
嵌入式游戏:
将游戏程序预先固化到手机中的一种图形类游戏,其中固化过程在手机出厂前就已经完成。
因此这种手机游戏不能进行任何修改或删除操作。
Java游戏:
Java是一种Sun微系统公司所发展出来的程序语言,它具有很多有利于手机游戏开发的性质,例如封装性、安全性等,便于手机游戏的开发与设计,而且目前在手机上应用最多的就是JAVA游戏。
BREW游戏:
和java类似,brew也是一种程序语言,BREW(BinaryRuntimeEnvironmentforWireless)即无线二进制运行环境,brew游戏的一主要特点就是可以扩充容量。
Uni-java游戏:
中国联通刚刚为其手机准备的一个新的通用开发平台。
Uni-Java可以让中国联通的手机也支持并运行Java程序,同时也支持一些Java游戏。
目前已经有相当数量的厂商开始进入Uni-Java手机游戏开发的领域。
2D手机游戏:
采用图形类的手机游戏,其中手机游戏界面为二维图像。
3D手机游戏:
延续2D手机游戏继续发展,手机游戏界面也由二维图像发展为三维图像,给玩家以更好的视觉效果,使游戏更具娱乐性。
3.程序开发语言[3]
3.1Java
Java是由SunMicrosystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。
由JamesGosling和同事们共同研发,并在1995年正式推出。
Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。
1995年更名为Java,并重新设计用于开发Internet应用程序。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。
另一方面,Java技术也不断更新。
Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
2010年Oracle公司收购SunMicrosystems。
Java分为三个体系JavaSE(J2SE,Java2PlatformStandardEdition,标准版),JavaEE(J2EE,Java2Platform,EnterpriseEdition,企业版),JavaME(J2ME,Java2PlatformMicroEdition,微型版)。
3.2Java程序开发流程
3.2.1编译
编译就是把所编制的*.Java文件,编译成二进制的*.class文件。
Java.exe是由Sun公司编写的一个编译器,它可以把*.Java文件成为*.class文件。
其中,如果一个*.Java文件中定义了多个类,它就将被编译成多个*.class文件。
3.2.2混淆(可选)
由于class文件格式透明的缘故,Java文件很容易被反编译。
因此,如果不希望别人掌握你的源代码的话,就一定要进行混淆(Obfuscate)。
所谓混淆,就是利用工具,将方法各类名改成没有实际意义的特定的字符及代号,增加阅读的难度。
这样做的目的是为了更充分的保护了自己的知识产权,而且混淆器还可以减少程序的大小。
混淆器一般都是由第三方软件开发商提供的,许多都是开源的,可以免费使用。
3.2.3预审核
在完成编译后,必须对*.class文件进行预审核,因为class在传输过程中容易损坏或是被篡改,且手机的资源有限,所以在手机上审核一般比较困难。
因此为了使我们在手机上进行的审核工作量减少。
我们在PC机上进行一部分预审核工作。
3.2.4打包
MIDP可执行文件后缀名为jar。
后缀为jad的文件是jar文件的描述文件。
在仿真器或手机上安装运行有了jar及jad文件后,就可以把它们放到仿真器或手机上运行了。
至于如何把它们放到手机上,根据手机的功能不同,可有如下几种方法:
使用数据线,将PC与手机相连,下载文件;使用红外线;使用蓝牙;使用OTA空中下载(利用短信/WAP)。
3.3Java语言的特点[4]
3.3.1平台独立性
要使应用软件在网络中的任意一台电脑中都能够正常运行,就必须使得软件具有平台独立性。
软件的平台独立性一直以来都是软件发展的需求及开发者所追求的首要目标,而Java正是一款具有平台独立性的编程语言,在源程序级保证了其基本数据类型与平台的无关,使得Java程序可以在世界范围内共享,为程序的编译和解读提供了很大的方便性。
3.3.2面向对象
面向对象的软件编程技术是当今软件开发行业中最常用的一种技术,Java正是一款面