基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx

上传人:b****2 文档编号:17103083 上传时间:2023-07-22 格式:DOCX 页数:30 大小:29.58KB
下载 相关 举报
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第1页
第1页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第2页
第2页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第3页
第3页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第4页
第4页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第5页
第5页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第6页
第6页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第7页
第7页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第8页
第8页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第9页
第9页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第10页
第10页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第11页
第11页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第12页
第12页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第13页
第13页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第14页
第14页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第15页
第15页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第16页
第16页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第17页
第17页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第18页
第18页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第19页
第19页 / 共30页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx

《基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx》由会员分享,可在线阅读,更多相关《基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx(30页珍藏版)》请在冰点文库上搜索。

基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计.docx

基于安卓平台记忆大爆炸游戏设计与实现毕业论文设计

基于安卓平台记忆大爆炸游戏设计与实现_毕业论文(设计)

 

本科毕业论文设计

题目基于安卓平台记忆大爆炸游戏设计与实现

院系电子工程与电气自动化学院

专业电子科学与技术

完成日期7>2013年5月10日

巢湖学院本科毕业论文论文Web网站并处理各种各样的业务因此智能手机的应用开发在21世纪移动互联时代就显得尤为重要

此论文提出了一款基于安卓系统的记忆大爆炸游戏并通过解析这款游戏的开发和实现来了解安卓系统的工作机制

此种游戏为益智类游戏其主要内容有欢迎界面菜单选择游戏设置开始游戏游戏教程游戏退出等模块并设计各个模块的功能和实现方式降低模块与模块的内聚

主要对该游戏进行总体的分析和设计对内部算法的具体处理和详细的计算进行阐述运用多线程技术对游戏中用到的安卓动画过程做具体介绍

关键字安卓游戏动画

DesignandimplementationofmemeorygameofthebigbangbasedontheAndroidplatform

Abstract

AlongwiththerapidpopularityofsmartphonesinordertomakesmartphoneuserscanquerytheservicesprovidedbytheInternetanytimeandanywhereahighlyefficientwayistothefunctionoftheapplicationsystemdevelopmentonthehandsetkeepthecellphonecanbemobileandInternetaccesstotheWebsiteanddealwithallkindsofbusinessSosmartphoneapplicationdevelopmentinthe21stcenturyeraofmobileInternetisparticularlyimportant

Thispaperputsforwardabasedonandroidmemorygametothebigbangandthroughanalyzingthedevelopmentandimplementationofthegametounderstandtheworkingmechanismoftheandroidsystem

Thisgameforeducationalclassesitsmaincontentis"welcomescreen""menuselection""gameSettings""startgame""gametutorial""exitgame"andothermodulesanddesignthevariousmodulesfunctionandimplementationapproachReducethemoduleandmodulecohesion

MainlytotheoverallanalysisanddesignofthegamethespecificprocessingofinternalalgorithmandthedetailedcalculationUsingthemultithreadingtechnologytouseandroidinthegameanimationprocesstointroducespecific

KeyWords

基于android平台的记忆大爆炸游戏设计与实现I

摘要I

1绪论1

11研究意义1

12研究状况与发展趋势1

2Android开发前的准备2

21系统需求分析2

22对性能的规定3

23android开发环境3

3游戏界面设计4

31欢迎界面设计4

32菜单界面设计4

33游戏进行中界面设计5

4游戏实现6

41框架的搭建6

42欢迎界面实现8

43菜单界面实现9

com菜单主界面9

com游戏帮助界面11

com游戏关于界面12

com游戏设置界面12

com游戏成就界面13

com游戏退出15

44游戏进行中界面实现15

com游戏主界面15

com游戏过关界面19

com游戏失败界面21

com游戏暂停界面21

45加载界面实现22

5软件运行测试24

51测试环境24

52功能测试24

53兼容性测试25

6总结25

参考文献27

致谢28

绪论

Android平台的框架是由操作系统中间件用户界面和应用软件组成底层的基础为Linux内核android系统的效果图由C开发并且只提供基本功能最上层为应用软件层包括通讯软件程序等是由各公司用java开发Google通过与各软硬件开发商等建立合作伙伴的关系希望能建立标准的开放式的移动软件平台

11研究意义

手机的发展也带动了手机游戏产业的快速发展在人们的生活中有许多的游戏但不同的游戏会带给玩家不同的感受和生活理念游戏时人们日常生活的一个必不可少的娱乐项目同时也带动了游戏相关产业市场的发展游戏平台经过从游戏机到电视游戏然后到PC游戏再到手机游戏中间经历了很多技术的更新和变革因为智能手机的普及基于手机平台的游戏也就拥有了巨大的市场空间也因随着3G的开通和应用手机游戏必然会迎来新的一轮游戏热潮

Android系统平台作为当下最为火热的平台本文拟设计一款游戏以深入理解Android系统的工作机制

Java语言作为一种跨平台的语言可用于开发android应用通过本文亦希望能够进一步的理解掌握该语言

此游戏是一款益智类的游戏通过它深入理解游戏开发的过程以及游戏开发的架构搭建理解安卓图形动画音频等的实现理解游戏开发思路和实现技术

12研究状况与发展趋势

1997年出现了最早的手机游戏经过了十几年的发展和变革随着手机移动终端和移动通信网络的不断进步手机游戏正在经历由简单到复杂的演变过程带动移动数据业务快速发展的手机娱乐服务伴随着网络和移动终端性能的不断提高呈现出快速增长势头[2]2010年中国的手机游戏玩家规模已经突破了13亿同比增长5211同期的中国手机游戏的市场规模已达33亿2011年中国的手机游戏玩家规模已达162亿人伴随着智能手机的普及和游戏获取门槛的降低以及手机游戏在产品类型和用户体验上都有很大的提高未来中国手机游戏玩家的规模还有很大的上升空间

2012年中国手机游戏玩家的规模已达213亿中国手机的网络游戏市场规模已达442亿元随着手机宽带的不断提速互联网从PC过渡到手机的趋势正在加快蔓延这也为手机游戏业的兴起造就了新的商业机遇

在移动互联网时代开发者纷纷逃离营运商的束缚转向利润较为丰厚的应用程序和游戏开发手机游戏软件在消费者中深受欢迎如果想在未来手机应用程序开发中实现规模则需要加大手机游戏方面的开发力度手机游戏研发的重点是游戏情节和游戏界面游戏情节的创作依赖人的想象力和创造力行业竞争的激烈也导致雷同的不少游戏情节出现这就要求创作人员不断发挥才能从最初按键操纵到后来的屏幕多点触控已是一个趋势本文则是在多点触碰操作灵感下的一款小游戏设计

目前的android手机游戏可以大致分为经营策略动作竞技休闲益智网络模拟体育竞技射击冒险和角色扮演

Android开发前的准备

21系统需求分析

在android智能手机平台上实现记忆大爆炸益智游戏玩家的目的是要记住礼物摆放的先后顺序再根据记忆根据原来的顺序依次点击屏幕上的方块以找到礼物从而获取分数在连击时间槽耗尽之前找到所有礼物将形成连击达成特定条件可以解锁成就如果点击顺序错误减少生命点数当生命为零时游戏结束用以锻炼人的记忆能力

实现各个目标的具体需求

1游戏框架设计

2刚进入游戏时的欢迎界面设计与实现

3菜单主界面的设计与实现

4将菜单封装成一个对象对菜单类的设计与实现

5对一些通用界面通用的功能进行统一处理的工具类的设计与实现

6游戏进行时界面的设计与实现

7将物品封装成一个对象对物品类的设计与实现

8对游戏中用到的状态机进行设计与实现

9数据存储数据库类的设计与实现

22对性能的规定

在对游戏各个界面的设计过程中始终坚持清晰了然

由于是运行在手机上面而不是电脑上面所以对游戏的性能要求就更加严格内存的使用要尽量的低很多游戏在一开始进入游戏后就将所有的资源加载到游戏中这样在后面的游戏过程中就不需要加载而直接从内存中读取数据但这样有些资源用不到的情况下也被加载到内存中对手机内存的要求较高而本游戏通过只加载需要的资源部分来降低手机内存的使用这样就需要加载界面来加载需要的资源而没用到的资源则不加载

如果采用android系统的绘图方式会发现绘制的图片在移动时会发生晃动的情况虽然可以通过提高帧率的方式来减缓晃动的幅度但不能从根本问题上解决因为android的绘图是先将图片绘制到画布上再一同绘制到屏幕上所以为了解决由于移动而带来的晃动问题我通过旋转画布的方式在原坐标系下可能沿着任意的方向移动在新坐标系下则始终沿着坐标轴方向运动就不会出现晃动问题而内存的开销方面相比之前并没有过多的开销

23android开发环境

Android的上层应用程序是用Java语言开发同时还需要基于Dalvik虚拟机所以要用的是开源的eclipse集成工具和安全的java语言当然只有Eclipse还不够因为是使用Java语言进行开发还应该有由SUN公司提供的JavaJDKjava开发所需要的开发工具包此外Android的应用程序开发和Java开发有较大区别的所以还需要有Google提供的AndroidSDKAndroid平台开发所需要的开发工具包同时还需要在Eclipse安装ADT插件为Android开发提供开发工具的升级或者变更是Eclipse下开发工具的升级下载的工具

简言之需要以下软件才能搭建Android开发环境从而进行Android游戏的开发

1JavaJDK

2Eclipse

3AndroidSDK

4ADT插件

游戏界面设计

31欢迎界面设计

欢迎界面是对用户初进入游戏的友好界面和游戏信息设置界面设计如下

图31欢迎界面设计框架

32菜单界面设计

菜单界面是对一些常用功能的一种集成能引导用户更好地游戏提高用户的体验度包括

1开始游戏点击跳转到游戏界面开始游戏

2游戏帮助简单介绍一下此游戏的一些基本功能和玩法

3游戏关于对于本游戏的一些信息介绍

4游戏设置玩家可以选择是否打开背景音乐

5游戏成就在游戏过程中所获得的奖励

6退出点击退出游戏菜单界面设计具体如下

图32菜单界面设计框架

33游戏进行中界面设计

为了更好地吸引用户提高用户的体验度合理的设置游戏的难度和情节是有必要的在游戏的过程中适当的添加奖励机制和惩罚机制过关时根据用户的操作连击点数来判断其是否可获得分数和成就如果未能完成任务则生命将会减少界面设计如下

图33游戏中界面设计框架

游戏实现

41框架的搭建

在编写游戏代码之前必须要仔细的理顺思路清晰的构建出整个游戏的框架不然游戏开发到最后总是千头万绪一旦出现bug就不知道该如何修改

1借鉴MVC架构思想将游戏分成四层将视图即界面展示逻辑画面的移动数据保存和统一工具类分开来开发这样如果视图出问题了即界面绘制的位置有问题只需要更改视图层而不需要更改逻辑层和数据库层每一个界面类中都有paint绘图方法和run逻辑处理方法将视图和逻辑分开以便于维护和修改使得代码的可维护性和二次开发容易度提高

2游戏状态机的实现方式是通过变量来控制当前游戏状态在游戏主线程中只更新绘制当前游戏状态下的内容各界面的跳转是通过状态机来进行的例如

switchGSgameStatus

caseGSGAME_INTO游戏

paintGameIntogp

break

caseGSGAME_SUC过关

paintGameSucgp

break

caseGSGAME_ERR失败

paintGameERRgp

break

caseGSGAME_PAUSE暂停

GSgameStatus来切换不同的界面而其他状态下的逻辑将不执行界面将不绘制通过状态机能够很方便的改变界面使得代码也比较清晰可读性较高

3保存数据在游戏中需要长期的存储一些游戏生成的数据例如玩家对游戏背景音乐的开关设置游戏过程中所获得的成就和分数剩余生命值所使用的特定功能次数等都需要保存首先创建一个类MyHelper在此类中声明数据库的基本信息再通过DB类建立更新和打开数据库对数据库进行增删改查等操作

4工具类的目的是将一些常用的方法封装在一个类中这些方法不依赖于任何界面并能在各个界面通用

①GS类将各个界面所用到的状态变量进行统一管理

②PS类系统配置参数管理包括系统配置固定参数字体声音图片和数据库

③GameData类游戏中的一些数据管理包括点阵字渐变效果和文本性文字单色等

④LayerData类对于每关的关卡数据进行管理当前所在的关卡总关卡该关分数总分数和当前关的成就等

⑤UIB类模拟android按钮检测矩形碰撞看手指是否点击了该按钮

StrData类各界面中用到的字符串

⑥Sound类背景音乐和音效的管理

音乐的播放音乐停止以及对于音乐资源的加载和释放

com框架

com框架

com层框架

com框架

42欢迎界面实现

画面的动态切换当第一张图片显示的时间达到定值时通过更改状态机来切换下一张图片的显示

switchlogoStatus

caseLOGO_PIC

iflogoTimeo0

logoTimeoTgetTimec

elseifTgetTimec-logoTimeologoDelay

logoTimeoTgetTimec

logoNumc

iflogoNumclogoNumo

logoNumc0

setLogoStatusLOGO_SOUND

caseLOGO_SOUND

break

43菜单界面实现

当用户进入此界面时根据用户的需要来查看不同的功能帮助用户了解游戏的操作

com菜单主界面

com菜单主界面

1将图中的各个菜单封装成对象为Menu此对象拥有的属性有

绘制时的xy坐标

所代表的图片下标bitmapIndex

所代表的的菜单下标menuIndex

动画移动实现控制isMoveUp

2菜单动画逻辑处理

控制菜单上下移动通过控制菜单对象中的y坐标和动画控制属性在线程中不停的刷新来控制其上下摆动

控制菜单上下移动

fori0imoveMenuArrayXlengthi

ifmoveMenuArrayX[i]getYmenuDefaultY5

moveMenuArrayX[i]setMoveUpfalse

elseifmoveMenuArrayX[i]getYmenuDefaultY-5

moveMenuArrayX[i]setMoveUptrue

ifmoveMenuArrayX[i]isMoveUp

moveMenuArrayX[i]setYmoveMenuArrayX[i]getY1

else

moveMenuArrayX[i]setYmoveMenuArrayX[i]getY-1

控制菜单左右移动当点击图中向左向右方向时菜单相应的平滑的向左向右移动

控制菜单向左移动

ifisMoveLeft

ifmenuDx-150clickLeftNum

menuDx-10

curMenuDY_n-3

curMenuDY_c3

arrowDx-25

fori0imoveMenuArrayXlengthi

ifmoveMenuArrayX[i]getX-20

moveMenuArrayX[i]setXSharecomInArraymoveMenuArrayX150

moveMenuArrayX[i]setXmoveMenuArrayX[i]getX-10

else

InitMoveLeft

控制菜单向右移动

ifisMoveRight

ifmenuDx150clickRightNum

menuDx10

curMenuDY_n-3

curMenuDY_c3

arrowDx25

fori0imoveMenuArrayXlengthi

ifmoveMenuArrayX[i]getXw_fixed50

moveMenuArrayX[i]setXSharecomInArraymoveMenuArrayX-150

moveMenuArrayX[i]setXmoveMenuArrayX[i]getX10

else

InitMoveRight

com游戏帮助界面

com游戏帮助界面

当用户不知如何玩此游戏时可通过该帮助界面了解到此游戏的玩法和规则点击帮助菜单将会提示我们应该如何进行操作

文字滚动动画逻辑处理使用Android系统的截图方法固然可以解决滚动动画但直接使用系统级的方法总是那样的繁琐自定义一个类工具类ToolPic里面封装一个方法paintRegionImage方法用于处理图片的截取和显示

PublicvoidpaintRegionImageCanvasgPaintpBitmapbintsrcxintsrcyintsrcwintsrchintabsxintabsyintanchor

gsave

srcsetsrcxsrcysrcxsrcwsrcysrch

switchanchor

caseANCHOR_CHV中心点绘制

dstsetabsx-srcw2absy-srch2absxsrcw2absysrch2

break

caseANCHOR_LU左上角绘制

dstsetabsxabsyabsxsrcwabsysrch

break

其他

gdrawBitmapbsrcdstp

grestore

帮助文字从下往上滚动逻辑实现通过控制截取的起始坐标来实现滚动

publicvoidrunHelp

helpTextStartY

ifhelpTextStartY581

helpTextStartY-305

com游戏关于界面

com游戏关于界面

关于界面是对游戏的一些基本信息做一个简要说明

com游戏设置界面

com游戏设置界面

设置界面对于游戏的背景声音进行设置

com游戏成就界面

com游戏成就界面

当在游戏中连击数达到一定时就能获得奖励成就

成就界面翻页动画的实现翻书的效果可以看成是由一定的动作帧组成每帧的大小相同这些帧在线程中不断地刷新就能形成连续的画面PageTurningIndex记录翻页的哪一帧总共有6帧

privatevoidrunAchieve

向左翻页或向右翻页逻辑处理

ifisPageMoveLeftisPageMoveRight

pageTurningIndex

ifpageTurningIndex6

pageTurningIndex-1

isPageMoveLeftfalse

isPageMoveRightfalse

翻页绘制实现

绘制翻页动画isTransform是否将图片变为镜像图片

privatevoidpaintTurningPageCanvasgPaintpbooleanisTransform

switchpageTurningIndex

case0

paintPagegpPicimageSrcs36677349TANCHOR_CHVisTransform

break

case1

paintPagegpPicimageSrcs37656328TANCHOR_CHVisTransform

break

case2

paintPagegpPicimageSrcs38636305TANCHOR_CHVisTransform

break

case3

paintPagegpPicimageSrcs39w_fixed3410h_fixed2-40TANCHOR_CHVisTransform

break

case4

paintPagegpPicimageSrcs40w_fixed34-PicimageSrcs40getWidth2h_fixed2-50TANCHOR_CHVisTransform

break

case5

paintPagegpPicimageSrcs41w_fixed2-PicimageSrcs41getWidth220h_fixed2-10TANCHOR_CHVisTransform

break

绘制页面翻转动画

privatevoidpaintPageCanvasgPaintpBitmapbintxintyintanchorbooleanisMirrorTrans

ifisMirrorTrans

通过统一工具类ToolPic类来绘制

comtImagegpbw_fixed-xyanchorTTRANS_MIRROR

else

comtImagegpbxyanchor

com游戏退出

com游戏退出界面

当用户需要退出游戏时通过此界面退出可以将该游戏所占用的资源全部释放掉

privatevoiddisData

暂做释放处理

MuAuPlcomAData

PicsystemAnull

PicclearSrcs

comroyDraw

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2