




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于安卓平台记忆大爆炸游戏设计与实现_毕业论文(设计)本科毕业论文设计题目基于安卓平台记忆大爆炸游戏设计与实现院系电子工程与电气自动化学院专业电子科学与技术完成日期72013年5月10日巢湖学院本科毕业论文论文WEB网站并处理各种各样的业务因此智能手机的应用开发在21世纪移动互联时代就显得尤为重要此论文提出了一款基于安卓系统的记忆大爆炸游戏并通过解析这款游戏的开发和实现来了解安卓系统的工作机制此种游戏为益智类游戏其主要内容有欢迎界面菜单选择游戏设置开始游戏游戏教程游戏退出等模块并设计各个模块的功能和实现方式降低模块与模块的内聚主要对该游戏进行总体的分析和设计对内部算法的具体处理和详细的计算进行阐述运用多线程技术对游戏中用到的安卓动画过程做具体介绍关键字安卓游戏动画DESIGNANDIMPLEMENTATIONOFMEMEORYGAMEOFTHEBIGBANGBASEDONTHEANDROIDPLATFORMABSTRACTALONGWITHTHERAPIDPOPULARITYOFSMARTPHONESINORDERTOMAKESMARTPHONEUSERSCANQUERYTHESERVICESPROVIDEDBYTHEINTERNETANYTIMEANDANYWHEREAHIGHLYEFFICIENTWAYISTOTHEFUNCTIONOFTHEAPPLICATIONSYSTEMDEVELOPMENTONTHEHANDSETKEEPTHECELLPHONECANBEMOBILEANDINTERNETACCESSTOTHEWEBSITEANDDEALWITHALLKINDSOFBUSINESSSOSMARTPHONEAPPLICATIONDEVELOPMENTINTHE21STCENTURYERAOFMOBILEINTERNETISPARTICULARLYIMPORTANTTHISPAPERPUTSFORWARDABASEDONANDROIDMEMORYGAMETOTHEBIGBANGANDTHROUGHANALYZINGTHEDEVELOPMENTANDIMPLEMENTATIONOFTHEGAMETOUNDERSTANDTHEWORKINGMECHANISMOFTHEANDROIDSYSTEMTHISGAMEFOREDUCATIONALCLASSESITSMAINCONTENTIS“WELCOMESCREEN“MENUSELECTION“GAMESETTINGS“STARTGAME“GAMETUTORIAL“EXITGAME“ANDOTHERMODULESANDDESIGNTHEVARIOUSMODULESFUNCTIONANDIMPLEMENTATIONAPPROACHREDUCETHEMODULEANDMODULECOHESIONMAINLYTOTHEOVERALLANALYSISANDDESIGNOFTHEGAMETHESPECIFICPROCESSINGOFINTERNALALGORITHMANDTHEDETAILEDCALCULATIONUSINGTHEMULTITHREADINGTECHNOLOGYTOUSEANDROIDINTHEGAMEANIMATIONPROCESSTOINTRODUCESPECIFICKEYWORDS目录基于ANDROID平台的记忆大爆炸游戏设计与实现I摘要I1绪论111研究意义112研究状况与发展趋势12ANDROID开发前的准备221系统需求分析222对性能的规定323ANDROID开发环境33游戏界面设计431欢迎界面设计432菜单界面设计433游戏进行中界面设计54游戏实现641框架的搭建642欢迎界面实现843菜单界面实现9COM菜单主界面9COM游戏帮助界面11COM游戏关于界面12COM游戏设置界面12COM游戏成就界面13COM游戏退出1544游戏进行中界面实现15COM游戏主界面15COM游戏过关界面19COM游戏失败界面21COM游戏暂停界面2145加载界面实现225软件运行测试2451测试环境2452功能测试2453兼容性测试256总结25参考文献27致谢28绪论ANDROID平台的框架是由操作系统中间件用户界面和应用软件组成底层的基础为LINUX内核ANDROID系统的效果图由C开发并且只提供基本功能最上层为应用软件层包括通讯软件程序等是由各公司用JAVA开发GOOGLE通过与各软硬件开发商等建立合作伙伴的关系希望能建立标准的开放式的移动软件平台11研究意义手机的发展也带动了手机游戏产业的快速发展在人们的生活中有许多的游戏但不同的游戏会带给玩家不同的感受和生活理念游戏时人们日常生活的一个必不可少的娱乐项目同时也带动了游戏相关产业市场的发展游戏平台经过从游戏机到电视游戏然后到PC游戏再到手机游戏中间经历了很多技术的更新和变革因为智能手机的普及基于手机平台的游戏也就拥有了巨大的市场空间也因随着3G的开通和应用手机游戏必然会迎来新的一轮游戏热潮ANDROID系统平台作为当下最为火热的平台本文拟设计一款游戏以深入理解ANDROID系统的工作机制JAVA语言作为一种跨平台的语言可用于开发ANDROID应用通过本文亦希望能够进一步的理解掌握该语言此游戏是一款益智类的游戏通过它深入理解游戏开发的过程以及游戏开发的架构搭建理解安卓图形动画音频等的实现理解游戏开发思路和实现技术12研究状况与发展趋势1997年出现了最早的手机游戏经过了十几年的发展和变革随着手机移动终端和移动通信网络的不断进步手机游戏正在经历由简单到复杂的演变过程带动移动数据业务快速发展的手机娱乐服务伴随着网络和移动终端性能的不断提高呈现出快速增长势头22010年中国的手机游戏玩家规模已经突破了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游戏的开发1JAVAJDK2ECLIPSE3ANDROIDSDK4ADT插件游戏界面设计31欢迎界面设计欢迎界面是对用户初进入游戏的友好界面和游戏信息设置界面设计如下图31欢迎界面设计框架32菜单界面设计菜单界面是对一些常用功能的一种集成能引导用户更好地游戏提高用户的体验度包括1开始游戏点击跳转到游戏界面开始游戏2游戏帮助简单介绍一下此游戏的一些基本功能和玩法3游戏关于对于本游戏的一些信息介绍4游戏设置玩家可以选择是否打开背景音乐5游戏成就在游戏过程中所获得的奖励6退出点击退出游戏菜单界面设计具体如下图32菜单界面设计框架33游戏进行中界面设计为了更好地吸引用户提高用户的体验度合理的设置游戏的难度和情节是有必要的在游戏的过程中适当的添加奖励机制和惩罚机制过关时根据用户的操作连击点数来判断其是否可获得分数和成就如果未能完成任务则生命将会减少界面设计如下图33游戏中界面设计框架游戏实现41框架的搭建在编写游戏代码之前必须要仔细的理顺思路清晰的构建出整个游戏的框架不然游戏开发到最后总是千头万绪一旦出现BUG就不知道该如何修改1借鉴MVC架构思想将游戏分成四层将视图即界面展示逻辑画面的移动数据保存和统一工具类分开来开发这样如果视图出问题了即界面绘制的位置有问题只需要更改视图层而不需要更改逻辑层和数据库层每一个界面类中都有PAINT绘图方法和RUN逻辑处理方法将视图和逻辑分开以便于维护和修改使得代码的可维护性和二次开发容易度提高2游戏状态机的实现方式是通过变量来控制当前游戏状态在游戏主线程中只更新绘制当前游戏状态下的内容各界面的跳转是通过状态机来进行的例如SWITCHGSGAMESTATUSCASEGSGAME_INTO游戏PAINTGAMEINTOGPBREAKCASEGSGAME_SUC过关PAINTGAMESUCGPBREAKCASEGSGAME_ERR失败PAINTGAMEERRGPBREAKCASEGSGAME_PAUSE暂停GSGAMESTATUS来切换不同的界面而其他状态下的逻辑将不执行界面将不绘制通过状态机能够很方便的改变界面使得代码也比较清晰可读性较高3保存数据在游戏中需要长期的存储一些游戏生成的数据例如玩家对游戏背景音乐的开关设置游戏过程中所获得的成就和分数剩余生命值所使用的特定功能次数等都需要保存首先创建一个类MYHELPER在此类中声明数据库的基本信息再通过DB类建立更新和打开数据库对数据库进行增删改查等操作4工具类的目的是将一些常用的方法封装在一个类中这些方法不依赖于任何界面并能在各个界面通用GS类将各个界面所用到的状态变量进行统一管理PS类系统配置参数管理包括系统配置固定参数字体声音图片和数据库GAMEDATA类游戏中的一些数据管理包括点阵字渐变效果和文本性文字单色等LAYERDATA类对于每关的关卡数据进行管理当前所在的关卡总关卡该关分数总分数和当前关的成就等UIB类模拟ANDROID按钮检测矩形碰撞看手指是否点击了该按钮STRDATA类各界面中用到的字符串SOUND类背景音乐和音效的管理音乐的播放音乐停止以及对于音乐资源的加载和释放COM框架COM框架COM层框架COM框架42欢迎界面实现画面的动态切换当第一张图片显示的时间达到定值时通过更改状态机来切换下一张图片的显示SWITCHLOGOSTATUSCASELOGO_PICIFLOGOTIMEO0LOGOTIMEOTGETTIMECELSEIFTGETTIMECLOGOTIMEOLOGODELAYLOGOTIMEOTGETTIMECLOGONUMCIFLOGONUMCLOGONUMOLOGONUMC0SETLOGOSTATUSLOGO_SOUNDCASELOGO_SOUNDBREAK43菜单界面实现当用户进入此界面时根据用户的需要来查看不同的功能帮助用户了解游戏的操作COM菜单主界面COM菜单主界面1将图中的各个菜单封装成对象为MENU此对象拥有的属性有绘制时的XY坐标所代表的图片下标BITMAPINDEX所代表的的菜单下标MENUINDEX动画移动实现控制ISMOVEUP2菜单动画逻辑处理控制菜单上下移动通过控制菜单对象中的Y坐标和动画控制属性在线程中不停的刷新来控制其上下摆动控制菜单上下移动FORI0IMOVEMENUARRAYXLENGTHIIFMOVEMENUARRAYXIGETYMENUDEFAULTY5MOVEMENUARRAYXISETMOVEUPFALSEELSEIFMOVEMENUARRAYXIGETYMENUDEFAULTY5MOVEMENUARRAYXISETMOVEUPTRUEIFMOVEMENUARRAYXIISMOVEUPMOVEMENUARRAYXISETYMOVEMENUARRAYXIGETY1ELSEMOVEMENUARRAYXISETYMOVEMENUARRAYXIGETY1控制菜单左右移动当点击图中向左向右方向时菜单相应的平滑的向左向右移动控制菜单向左移动IFISMOVELEFTIFMENUDX150CLICKLEFTNUMMENUDX10CURMENUDY_N3CURMENUDY_C3ARROWDX25FORI0IMOVEMENUARRAYXLENGTHIIFMOVEMENUARRAYXIGETX20MOVEMENUARRAYXISETXSHARECOMINARRAYMOVEMENUARRAYX150MOVEMENUARRAYXISETXMOVEMENUARRAYXIGETX10ELSEINITMOVELEFT控制菜单向右移动IFISMOVERIGHTIFMENUDX150CLICKRIGHTNUMMENUDX10CURMENUDY_N3CURMENUDY_C3ARROWDX25FORI0IMOVEMENUARRAYXLENGTHIIFMOVEMENUARRAYXIGETXW_FIXED50MOVEMENUARRAYXISETXSHARECOMINARRAYMOVEMENUARRAYX150MOVEMENUARRAYXISETXMOVEMENUARRAYXIGETX10ELSEINITMOVERIGHTCOM游戏帮助界面COM游戏帮助界面当用户不知如何玩此游戏时可通过该帮助界面了解到此游戏的玩法和规则点击帮助菜单将会提示我们应该如何进行操作文字滚动动画逻辑处理使用ANDROID系统的截图方法固然可以解决滚动动画但直接使用系统级的方法总是那样的繁琐自定义一个类工具类TOOLPIC里面封装一个方法PAINTREGIONIMAGE方法用于处理图片的截取和显示PUBLICVOIDPAINTREGIONIMAGECANVASGPAINTPBITMAPBINTSRCXINTSRCYINTSRCWINTSRCHINTABSXINTABSYINTANCHORGSAVESRCSETSRCXSRCYSRCXSRCWSRCYSRCHSWITCHANCHORCASEANCHOR_CHV中心点绘制DSTSETABSXSRCW2ABSYSRCH2ABSXSRCW2ABSYSRCH2BREAKCASEANCHOR_LU左上角绘制DSTSETABSXABSYABSXSRCWABSYSRCHBREAK其他GDRAWBITMAPBSRCDSTPGRESTORE帮助文字从下往上滚动逻辑实现通过控制截取的起始坐标来实现滚动PUBLICVOIDRUNHELPHELPTEXTSTARTYIFHELPTEXTSTARTY581HELPTEXTSTARTY305COM游戏关于界面COM游戏关于界面关于界面是对游戏的一些基本信息做一个简要说明COM游戏设置界面COM游戏设置界面设置界面对于游戏的背景声音进行设置COM游戏成就界面COM游戏成就界面当在游戏中连击数达到一定时就能获得奖励成就成就界面翻页动画的实现翻书的效果可以看成是由一定的动作帧组成每帧的大小相同这些帧在线程中不断地刷新就能形成连续的画面PAGETURNINGINDEX记录翻页的哪一帧总共有6帧PRIVATEVOIDRUNACHIEVE向左翻页或向右翻页逻辑处理IFISPAGEMOVELEFTISPAGEMOVERIGHTPAGETURNINGINDEXIFPAGETURNINGINDEX6PAGETURNINGINDEX1ISPAGEMOVELEFTFALSEISPAGEMOVERIGHTFALSE翻页绘制实现绘制翻页动画ISTRANSFORM是否将图片变为镜像图片PRIVATEVOIDPAINTTURNINGPAGECANVASGPAINTPBOOLEANISTRANSFORMSWITCHPAGETURNINGINDEXCASE0PAINTPAGEGPPICIMAGESRCS36677349TANCHOR_CHVISTRANSFORMBREAKCASE1PAINTPAGEGPPICIMAGESRCS37656328TANCHOR_CHVISTRANSFORMBREAKCASE2PAINTPAGEGPPICIMAGESRCS38636305TANCHOR_CHVISTRANSFORMBREAKCASE3PAINTPAGEGPPICIMAGESRCS39W_FIXED3410H_FIXED240TANCHOR_CHVISTRANSFORMBREAKCASE4PAINTPAGEGPPICIMAGESRCS40W_FIXED34PICIMAGESRCS40GETWIDTH2H_FIXED250TANCHOR_CHVISTRANSFORMBREAKCASE5PAINTPAGEGPPICIMAGESRCS41W_FIXED2PICIMAGESRCS41GETWIDTH220H_FIXED210TANCHOR_CHVISTRANSFORMBREAK绘制页面翻转动画PRIVATEVOIDPAINTPAGECANVASGPAINTPBITMAPBINTXINTYINTANCHORBOOLEANISMIRRORTRANSIFISMIRRORTRANS通过统一工具类TOOLPIC类来绘制COMTIMAGEGPBW_FIXEDXYANCHORTTRANS_MIRRORELSECOMTIMAGEGPBXYANCHORCOM游戏退出COM游戏退出界面当用户需要退出游戏时通过此界面退出可以将该游戏所占用的资源全部释放掉PRIVATEVOIDDISDATA暂做释放处理MUAUPLCOMADATAPICSYSTEMANULLPICCLEARSRCSCOMROYDRAWINGCACHETCVNULLTLOGTAGLOGKEY“释放“44游戏进行中界面实现COM游戏主界面COM游戏主界面游戏进行中的界面类为GAMECANVAS此类可以说是整个游戏的最重要的部分整个绘制背景物品的摆放动画时间进度条的改变和用户操作都封装在此类中在这个类中用户主要是观察物品出现的顺序在进行相应的操作如果如果忘记了物品顺序则可以通过重新播放来重新观察当然该功能有次数限制1时间进度条的动画实现从放置物品开始计时在规定的时间范围内能正确的依次找出所放物品的位置才能完成任务时间进度条逻辑处理记录系统当前时间并比较IFTGETTIMECCURSYSTEMTIMESYSTEMWAITTIMECURSYSTEMTIMETGETTIMECIFUSETIMETIMEUSETIMEIFUSETIMETIMEUSETIMETIME通过CANVAS对指定大小的矩形在画布指定位置上进行切割显示以实现进度动画GSAVE在画布上切割指定大小的矩形GCLIPRECTW_FIXED2PICIMAGESRCS69GETWIDTH20W_FIXED2PICIMAGESRCS69GETWIDTH2PROGRESSDEFAULTWIDTHUSETIMETIME480绘制时间进度条COMTIMAGEGPPICIMAGESRCS69W_FIXED2PROGRESSDEFAULTHEIGHT2TANCHOR_CHVGRESTORE2物品放置动画实现物品出现的位置是随机的按照关卡的上升的方式计算以获得在该关卡下的物品出现的个数物品会按照时间间隔依次出现物品缩放动画当物品开始出现时会有由小变大的过程IFISSCALEIFSCALE1SCALEELSEISSCALEFALSESCALE5ORDERBITMAPSGETORDERBITMAPSSIZE1SETSCALEDFALSE放置物品每隔一段时间通过TGETRANDOM方法获得随机数生成物品放置的位置为保证随机数产生的数都不相同将物品放置的每个可能的位置放到GRIDNUMREMIND的列表中当随机到一个位置后将GRIDNUMREMIND列表中的相同的位置移除掉以保证下次的产生的随机位置不重复当物品放置完成后物品会隐藏起来等待用户去寻找PRIVATEVOIDPUTGOODSIFTGETTIMECCURTIMEWAITTIMEISSCALETRUECURGOODSNUMIFCURGOODSNUMORDERGOODSNUMISPUTGOODSDOWNTRUECURGOODSNUM0FORGAMEINFOINFOORDERBITMAPSINFOSETVISIBLEFALSERETURNCURTIMETGETTIMECJTGETRANDOMGRIDNUMREMINDSIZEORDERBITMAPSADDNEWGAMEINFOGRIDNUMREMINDGETJTGETRANDOMGOODS82TRUEGRIDNUMREMINDREMOVEJ3物品放完触碰检测当物品放置完成后将接受用户的触屏检查如果点击的位置顺序与物品放置时的顺序相同则会有相应的奖励过关成功如果点击顺序错误生命值减少过关失败碰撞检测为了提高游戏运行的效率降低消耗手机内存采用矩形碰撞检测方法判断触摸点是否在矩形范围内PUBLICBOOLEANISPOINTINRECTINTXINTYRECTRRETURNXRLEFTXRRIGHTYRTOPYRBOTTOM当点中了了物品所在的位置显示出隐藏的物品并获得相应的分数以及初始化加分动画的控制变量如果将所有隐藏的物品都找到则游戏过关CURGOODSNUM点击位置正确将隐藏的物品显示出来ORDERBITMAPSGETGRIDCLICKLISTSIZE1SETVISIBLETRUE获得分数CURRENTSCORE10SCORE10控制加分动画变量ISSCORECHANGETRUEADDSCOREDY0GRIDINDEXOFADDSCOREORDERBITMAPSGETGRIDCLICKLISTSIZE1GETGRIDINDEX当没点中物品所在的位置时生命值减少如果生命值为零则将状态机改为失败界面游戏结束IFGRIDCLICKLISTGETGRIDCLICKLISTSIZE1ORDERBITMAPSGETGRIDCLICKLISTSIZE1GETGRIDINDEX如果没有点中CLICKWRONGGRIDINDEXGRIDCLICKLISTGETGRIDCLICKLISTSIZE1IFLIFE0LIFEISLIFECHANGETRUEELSEIFISLIFECHANGEGSGAMESTATUSGSGAME_ERR4加分生命值改变动画实现当正确点击物品位置后会获取一定的分数分数或生命上升一段距离后消失通过ISSCORECHANGE或ISLIFECHANGE来控制动画是否显示如果都为TRUE则动画开始否则不绘制加分动画IFISSCORECHANGEIFADDSCOREDY20ADDSCOREDY2ELSEISSCORECHANGEFALSE生命值更改IFISLIFECHANGEIFLIFECHANGEDY40LIFECHANGEDY2ELSEISLIFECHANGEFALSELIFECHANGEDY0COM游戏过关界面COM游戏过关界面此界面为用户完成一关后对用户的得分情况以及奖励情况作说明如果获得成就成就就会从天而降有种震动屏幕的效果成就动画实现通过线程刷帧不断地改变成就图所绘制的坐标来实现从天而降的动画IFDOUBLEHINTY180控制成就图片的移动逻辑DOUBLEHINTY20ELSE屏幕震动效果SHAKINGSCREEN控制连击数IFDOUBLEHINTX300DOUBLEHINTX50CURTIMETGETTIMECELSEIFTGETTIMECCURTIME800DOUBLEHINTX50屏幕震动效果SHAKINGSCREEN抖屏的目的是成就或连击从移动到突然停止时有种打到屏幕上产生晃动的效果控制屏幕图片左右移动的次数IFCENTERXMOVETIMES0CENTERXMOVETIMESELSECENTERX400RETURN控制屏幕背景图片绘制的X坐标左右来回变化来达到抖屏的目的IFCENTERDX0ISCENTERMOVELEFTTRUEELSEIFCENTERDX0ISCENTERMOVELEFTFALSEIFISCENTERMOVELEFTCENTERDX2ELSECENTERDX2CENTERXCENTERDXCURTIMETGETTIMECCOM游戏失败界面COM游戏失败界面此界面为用户过关失败后游戏结束四个大字将从小放大达到一定的大小将产生抖屏效果动画缩放的处理CANVAS中通过MATRIX的矩阵运算对画布进行缩放处理并在操作前后需要加入SAVE方法保存当前的设置和RESTORE方法恢复上次SAVE中保存画布的状态COM游戏暂停界面COM游戏暂停界面当用户正在游戏时突然临时有事或突然接到电话这时游戏处于暂停状态如需继续可点击继续游戏或回主菜单退出游戏45加载界面实现图45游戏加载界面加载界面是游戏从一个主界面到另一个主界面时对即将进入的主界面里的资源进行初始化的过度界面通过创建一个线程来加载需要的资源而不是在主线程中加载目的是防止耗时的任务会卡死界面导致程序停止运行对于手机性能非常好的手机可以通过一次加载全部的资源来省去过度界面的等待时间也是一件好事但对于手机性能不好的手机有时会直接运行不了因为内存开销太大了所以加载界面加载部分资源非常适合用于性能不好的手机1资源的释放与加载PRIVATEVOIDREFDATA获取LOADING切换时的状态INTLOADINGSTATUSLOADINGCANVASSTATUS释放点阵字缓存COMRVSFONT各界面释放资源GAMELOGOCANVASDISINGDATAGAMEMENUCANVASDISINGDATAGAMECANVASDISINGDATA载入指定界面的资源SWITCHLOADINGSTATUSCASELOADINGCANVASLOGO欢迎界面资源加载GAMELOGOCANVASLOADINGDATABREAKCASELOADINGCANVASMENU菜单界面资源加载GAMEMENUCANVASLOADINGDATABREAKCASELOADINGCANVASGAME游戏运行中资源加载GAMECANVASLOADINGDATABREAKDEFAULTBREAK2通过新线程去加载资源创建一个RUNNABLE实例并通过创建THREAD实例来创建一个线程用以加载耗时的资源PUBLICRUNNABLERB2NEWRUNNABLEPUBLICVOIDRUNREFDATAISLOADINGFALSE3当资源加载完成并加载进度条到达最大值时界面跳转到指定的界面上更改状态机通过状态机去管理要到达的界面IFMAINACTICOMADINGPROGRESSTEMPPROGRESSOSWITCHSTATUSCASELOGOMAINACTICOMIMPL1BREAKCASEMENUMAINACTICOMIMPL2BREAKCASEGAMEMAINACTICOMIMPL3BREAK软件运行测试游戏测试的目的主要是测试游戏界面是否与设计的效果相吻合运行的效果是否良好功能是否完善性能是否稳定51测试环境硬件装有ANDROID40系统的索尼MT25I手机一部USB线一根电脑一台通过USB保持相连并处于同步状态软件ECLIPSE37ANDROID22SDK索尼MT25I手机驱动在手机系统调试状态下可以保持手机和电脑连接后同步通过ECLIPSE中DDMS装置可以对游戏画面进行截屏通过LOGCAT日志打印可以对游戏运行情况进行分析52功能测试功能测试又叫黑盒测试或数据驱动测试只需要考虑各个功能实现情况而不需要去考虑整个程序的结构和代码游戏的功能测试需要测试游戏的功能是否完整各项功能是否与预期相符包括游戏功能测试游戏兼容性测试判断条件测试数据库数据测试画面分辨率测试测试后与设计基本相符部分有些不一样有待改进53兼容性测试就是在不同型号手机和不同ANDROID版本上测试游戏看是否可以顺利完整的运行通过该测试使游戏能适应更多的机型从而被更多的玩家接受手机名称ANDROID版本兼容性索尼MT25ICOM兼容华为U886040兼容三星S5600COM兼容图53兼容性测试总结在开始编码程序前期设计整体游戏框架结构给每个模块明确分工以面向对象的思想分析和解决问题的过程令我的编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津市职业大学《工程安全与环境保护》2023-2024学年第二学期期末试卷
- 南京特殊教育师范学院《风景园林艺术》2023-2024学年第二学期期末试卷
- 武汉铁路桥梁职业学院《软件漏洞分析与防范》2023-2024学年第二学期期末试卷
- 广西城市职业大学《图书营销学》2023-2024学年第二学期期末试卷
- 襄阳科技职业学院《概念产品创新设计》2023-2024学年第二学期期末试卷
- 监理人员上岗培训
- 共青科技职业学院《国际商务谈判》2023-2024学年第二学期期末试卷
- 中央戏剧学院《外国史学名著选读》2023-2024学年第二学期期末试卷
- 烟台大学《DSP芯片及应用》2023-2024学年第二学期期末试卷
- 东莞城市学院《人力资源管理导论》2023-2024学年第二学期期末试卷
- 法律行业法律风险评估与合规性方案
- 体育教育中的跨学科整合教学研究论文
- 2024考研管理类联考真题答案解析完整版
- 中医阴阳学说课件
- DBJ51T 081-2017 四川省城镇二次供水运行管理标准
- 医院培训课件:《两性霉素B》
- 明洞施工隧道工程施工方案
- 2025-2030年中国迷迭香行业市场规模分析及发展建议研究报告
- 2025年山东地区光明电力服务公司招聘笔试参考题库含答案解析
- 2025年国家工作人员保密教育线上培训必考题库附含参考答案
- 2025年合肥市公安局第一批招考聘用警务辅助人员591人高频重点提升(共500题)附带答案详解
评论
0/150
提交评论