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

上传人:仙人指路1688 文档编号:3940458 上传时间:2023-03-28 格式:DOC 页数:36 大小:3.42MB
返回 下载 相关 举报
基于安卓平台记忆大爆炸游戏设计与实现毕业论文.doc_第1页
第1页 / 共36页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文.doc_第2页
第2页 / 共36页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文.doc_第3页
第3页 / 共36页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文.doc_第4页
第4页 / 共36页
基于安卓平台记忆大爆炸游戏设计与实现毕业论文.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

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

1、 本科毕业论文(设计)题 目 基于安卓平台记忆大爆炸游戏设计与实现 院(系) 电子工程与电气自动化学院 专 业 电子科学与技术 学生姓名 学 号 09026222 指导教师 职称 助教 论文字数 完成日期:2013年5月10日巢湖学院本科毕业论文(设计)诚信承诺书本人郑重声明:所呈交的本科毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。本人签名: 日期: 巢湖学院本科毕业论文 (设计)

2、使用授权说明本人完全了解巢湖学院有关收集、保留和使用毕业论文 (设计)的规定,即:本科生在校期间进行毕业论文(设计)工作的知识产权单位属巢湖学院。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文 (设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。保密的毕业论文(设计)在解密后遵守此规定。本人签名: 日期: 导师签名: 日期: 基于android平台的记忆大爆炸游戏设计与实现摘要随着智能手机的快速普及,为了让智能手机用户能够随时随地查询

3、互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。因此智能手机的应用开发在21世纪移动互联时代就显得尤为重要。此论文提出了一款基于安卓系统的记忆大爆炸游戏,并通过解析这款游戏的开发和实现,来了解安卓系统的工作机制。此种游戏为益智类游戏,其主要内容有“欢迎界面”、“菜单选择”、“游戏设置”、“开始游戏”、“游戏教程”、“游戏退出”等模块,并设计各个模块的功能和实现方式。降低模块与模块的内聚。主要对该游戏进行总体的分析和设计,对内部算法的具体处理和详细的计算进行阐述。运用多线程技术,对游戏中用到的安卓动画过程做

4、具体介绍。关键字:安卓;游戏;动画;Design and implementation of memeory game of the big bang based on the Android platformAbstractAlong with the rapid popularity of smartphones, in order to make smart phone users can query the services provided by the Internet anytime and anywhere, a highly efficient way is to the f

5、unction of the application system development on the handset, keep the cell phone can be mobile and Internet access to the Web site and deal with all kinds of business. So smart phone application development in the 21st century era of mobile Internet is particularly important.This paper puts forward

6、 a based on android memory game to the big bang, and through analyzing the development and implementation of the game, to understand the working mechanism of the android system.This game for educational classes, its main content is welcome screen, menu selection, game Settings, start game, game tuto

7、rial, exit game and other modules, and design the various modules function and implementation approach. Reduce the module and module cohesion.Mainly to the overall analysis and design of the game, the specific processing of internal algorithm and the detailed calculation. Using the multithreading te

8、chnology, to use android in the game animation process to introduce specificKey Words:android, game, animation目录 基于android平台的记忆大爆炸游戏设计与实现I摘要I1.绪论11.1 研究意义11.2 研究状况与发展趋势12.Android开发前的准备22.1 系统需求分析22.2 对性能的规定32.3 android开发环境33.游戏界面设计43.1 欢迎界面设计43.2 菜单界面设计43.3 游戏进行中界面设计54.游戏实现64.1 框架的搭建64.2 欢迎界面实现84.3

9、菜单界面实现94.3.1 菜单主界面94.3.2 游戏帮助界面114.3.3 游戏关于界面124.3.4 游戏设置界面124.3.5 游戏成就界面134.3.6 游戏退出154.4 游戏进行中界面实现154.4.1 游戏主界面154.4.2 游戏过关界面194.4.3 游戏失败界面214.4.4 游戏暂停界面214.5 加载界面实现225.软件运行测试245.1 测试环境245.2 功能测试245.3 兼容性测试256.总结25参考文献27致谢281. 绪论Android平台的框架是由操作系统、中间件、用户界面和应用软件组成。底层的基础为Linux内核,android系统的效果图由C开发,并且

10、只提供基本功能。最上层为应用软件层,包括通讯软件程序等,是由各公司用java开发。Google通过与各软、硬件开发商等建立合作伙伴的关系,希望能建立标准的、开放式的移动软件平台。1.1 研究意义手机的发展也带动了手机游戏产业的快速发展。在人们的生活中有许多的游戏,但不同的游戏会带给玩家不同的感受和生活理念。游戏时人们日常生活的一个必不可少的娱乐项目,同时也带动了游戏相关产业市场的发展。游戏平台经过从游戏机到电视游戏,然后到PC游戏,再到手机游戏,中间经历了很多技术的更新和变革。因为智能手机的普及,基于手机平台的游戏也就拥有了巨大的市场空间,也因随着3G的开通和应用,手机游戏必然会迎来新的一轮游

11、戏热潮。Android系统平台作为当下最为火热的平台,本文拟设计一款游戏,以深入理解Android系统的工作机制。Java语言作为一种跨平台的语言,可用于开发android应用,通过本文亦希望能够进一步的理解,掌握该语言。此游戏是一款益智类的游戏,通过它深入理解游戏开发的过程,以及游戏开发的架构搭建。理解安卓图形、动画、音频等的实现,理解游戏开发思路和实现技术1.2 研究状况与发展趋势1997年出现了最早的手机游戏,经过了十几年的发展和变革,随着手机移动终端和移动通信网络的不断进步,手机游戏正在经历由简单到复杂的演变过程。带动移动数据业务快速发展的手机娱乐服务,伴随着网络和移动终端性能的不断提

12、高,呈现出快速增长势头2。2010年,中国的手机游戏玩家规模已经突破了1.3亿,同比增长52.11%,同期的中国手机游戏的市场规模已达33亿。2011年中国的手机游戏玩家规模已达1.62亿人。伴随着智能手机的普及和游戏获取门槛的降低,以及手机游戏在产品类型和用户体验上都有很大的提高,未来中国手机游戏玩家的规模还有很大的上升空间。2012年中国手机游戏玩家的规模已达2.13亿,中国手机的网络游戏市场规模已达4.42亿元。随着手机宽带的不断提速,互联网从PC过渡到手机的趋势正在加快蔓延,这也为手机游戏业的兴起造就了新的商业机遇。在移动互联网时代,开发者纷纷逃离营运商的束缚,转向利润较为丰厚的应用程

13、序和游戏开发。手机游戏软件在消费者中深受欢迎,如果想在未来手机应用程序开发中实现规模则需要加大手机游戏方面的开发力度。手机游戏研发的重点是游戏情节和游戏界面。游戏情节的创作依赖人的想象力和创造力。行业竞争的激烈也导致雷同的不少游戏情节出现,这就要求创作人员不断发挥才能。从最初按键操纵到后来的屏幕多点触控,已是一个趋势。本文则是在多点触碰操作灵感下的一款小游戏设计。目前的android手机游戏可以大致分为:经营策略、动作竞技、休闲益智、网络模拟、体育竞技、射击冒险和角色扮演。2. Android开发前的准备2.1 系统需求分析在android智能手机平台上实现记忆大爆炸益智游戏。玩家的目的是要记

14、住礼物摆放的先后顺序,再根据记忆,根据原来的顺序依次点击屏幕上的方块以找到礼物,从而获取分数,在连击时间槽耗尽之前找到所有礼物将形成连击,达成特定条件可以解锁成就。如果点击顺序错误,减少生命点数,当生命为零时游戏结束。用以锻炼人的记忆能力。实现各个目标的具体需求:(1) 游戏框架设计(2) 刚进入游戏时的欢迎界面设计与实现(3) 菜单主界面的设计与实现(4) 将菜单封装成一个对象,对菜单类的设计与实现(5) 对一些通用界面、通用的功能进行统一处理的工具类的设计与实现(6) 游戏进行时界面的设计与实现(7) 将物品封装成一个对象,对物品类的设计与实现(8) 对游戏中用到的状态机进行设计与实现(9

15、) 数据存储数据库类的设计与实现2.2 对性能的规定在对游戏各个界面的设计过程中,始终坚持清晰了然。由于是运行在手机上面,而不是电脑上面,所以对游戏的性能要求就更加严格,内存的使用要尽量的低,很多游戏在一开始进入游戏后就将所有的资源加载到游戏中,这样在后面的游戏过程中就不需要加载而直接从内存中读取数据,但这样有些资源用不到的情况下也被加载到内存中,对手机内存的要求较高,而本游戏通过只加载需要的资源部分来降低手机内存的使用,这样就需要加载界面来加载需要的资源而没用到的资源则不加载。如果采用android系统的绘图方式,会发现绘制的图片在移动时会发生晃动的情况,虽然可以通过提高帧率的方式来减缓晃动

16、的幅度,但不能从根本问题上解决。因为android的绘图是先将图片绘制到画布上,再一同绘制到屏幕上,所以为了解决由于移动而带来的晃动问题,我通过旋转画布的方式。在原坐标系下可能沿着任意的方向移动,在新坐标系下则始终沿着坐标轴方向运动就不会出现晃动问题,而内存的开销方面相比之前并没有过多的开销。2.3 android开发环境Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,要用的是开源的eclipse集成工具和安全的java语言。当然只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的Java JDK(java开发所需要的开

17、发工具包)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK(Android平台开发所需要的开发工具包)。同时,还需要在Eclipse安装ADT插件,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。简言之,需要以下软件,才能搭建Android开发环境,从而进行Android游戏的开发。(1) Java JDK(2) Eclipse(3) Android SDK(4) ADT插件3. 游戏界面设计3.1 欢迎界面设计欢迎界面是对用户初进入游戏的友好界面和游戏信息设置。界面设计如下:是否设

18、置音乐开场logo声音关声音开开图3.1欢迎界面设计框架3.2 菜单界面设计菜单界面是对一些常用功能的一种集成,能引导用户更好地游戏,提高用户的体验度。包括:(1)“开始游戏”,点击跳转到游戏界面,开始游戏,(2)“游戏帮助”,简单介绍一下此游戏的一些基本功能和玩法,(3)“游戏关于”,对于本游戏的一些信息介绍,(4)“游戏设置”,玩家可以选择是否打开背景音乐,(5)“游戏成就”,在游戏过程中所获得的奖励,(6)“退出”,点击退出游戏。菜单界面设计具体如下: 开始菜单主界面声音关声音开开关于帮助设置成就退出是否图3.2菜单界面设计框架3.3 游戏进行中界面设计为了更好地吸引用户,提高用户的体验

19、度,合理的设置游戏的难度和情节是有必要的,在游戏的过程中适当的添加奖励机制和惩罚机制。过关时根据用户的操作连击点数来判断其是否可获得分数和成就,如果未能完成任务,则生命将会减少。界面设计如下:进行中游戏主界面帮助继续开失败过关暂停退出否是菜单主界面获取成就开图3.3游戏中界面设计框架4. 游戏实现4.1 框架的搭建在编写游戏代码之前,必须要仔细的理顺思路,清晰的构建出整个游戏的框架,不然游戏开发到最后总是千头万绪,一旦出现bug就不知道该如何修改。(1) 借鉴MVC架构思想,将游戏分成四层,将视图(即界面展示)、逻辑(画面的移动)、数据保存和统一工具类分开来开发,这样如果视图出问题了(即界面绘

20、制的位置有问题),只需要更改视图层而不需要更改逻辑层和数据库层。每一个界面类中都有paint绘图方法和run逻辑处理方法,将视图和逻辑分开以便于维护和修改,使得代码的可维护性和二次开发容易度提高。(2) 游戏状态机的实现方式是通过变量来控制当前游戏状态,在游戏主线程中只更新绘制当前游戏状态下的内容。各界面的跳转是通过状态机来进行的。例如:switch (GS.gameStatus) case GS.GAME_INTO:/ 游戏paintGameInto(g, p);break;case GS.GAME_SUC:/ 过关paintGameSuc(g,p);break;case GS.GAME_E

21、RR:/ 失败paintGameERR(g,p);break;case GS.GAME_PAUSE:/ 暂停通过更改GS.gameStatus来切换不同的界面,而其他状态下的逻辑将不执行、界面将不绘制,通过状态机能够很方便的改变界面,使得代码也比较清晰,可读性较高。(3) 保存数据,在游戏中需要长期的存储一些游戏生成的数据,例如玩家对游戏背景音乐的开关设置,游戏过程中所获得的成就和分数,剩余生命值,所使用的特定功能次数等,都需要保存。首先创建一个类MyHelper,在此类中声明数据库的基本信息,再通过DB类建立、更新和打开数据库。对数据库进行增、删、改、查等操作。(4) 工具类的目的是将一些常

22、用的方法封装在一个类中,这些方法不依赖于任何界面,并能在各个界面通用, GS类:将各个界面所用到的状态变量进行统一管理。 PS类:系统配置参数管理,包括系统配置固定参数、字体、声音、图片和数据库。 GameData类:游戏中的一些数据管理,包括点阵字渐变效果和文本性文字单色等。 LayerData类:对于每关的关卡数据进行管理,当前所在的关卡,总关卡,该关分数,总分数和当前关的成就等。 UIB类:模拟android按钮,检测矩形碰撞,看手指是否点击了该按钮。StrData类:各界面中用到的字符串。 Sound类:背景音乐和音效的管理。音乐的播放、音乐停止以及对于音乐资源的加载和释放。进行中界面

23、paint方法视图层欢迎界面paint方法菜单界面paint方法加载界面paint方法图4.1.1视图层框架进行中界面run方法逻辑层欢迎界面run方法菜单界面run方法加载界面run方法图4.1.2逻辑层框架数据库层MyHelper数据库辅助类DB数据库管理类图4.1.3数据库层框架Sound声音管理类统一工具类LayerData关卡管理类StrData文字管理类UIB按钮管理类GS状态机管理类PS属性状态管理类GameData游戏数据类you图4.1.4工具类框架4.2 欢迎界面实现画面的动态切换,当第一张图片显示的时间达到定值时通过更改状态机来切换下一张图片的显示。switch (log

24、oStatus) case LOGO_PIC:if (logoTimeo = 0) logoTimeo = T.getTimec(); else if (T.getTimec() - logoTimeo = logoDelay) logoTimeo = T.getTimec();logoNumc+;if (logoNumc = logoNumo) logoNumc = 0;setLogoStatus(LOGO_SOUND);case LOGO_SOUND:break;4.3 菜单界面实现当用户进入此界面时,根据用户的需要来查看不同的功能,帮助用户了解游戏的操作。4.3.1 菜单主界面图4.3.

25、1 菜单主界面(1).将图中的各个菜单封装成对象为Menu,此对象拥有的属性有:绘制时的x,y坐标;所代表的图片下标bitmapIndex;所代表的的菜单下标menuIndex;动画移动实现控制 isMoveUp;(2).菜单动画逻辑处理控制菜单上下移动:通过控制菜单对象中的y坐标和动画控制属性,在线程中不停的刷新,来控制其上下摆动。/控制菜单上下移动for(i = 0;imenuDefaultY+5)moveMenuArrayXi.setMoveUp(false);else if(moveMenuArrayXi.getY() -150*clickLeftNum)menuDx -= 10;cu

26、rMenuDY_n -= 3;curMenuDY_c += 3;arrowDx -= 25;for(i = 0;imoveMenuArrayX.length;i+)if(moveMenuArrayXi.getX() -20)moveMenuArrayXi.setX(ShareCtrl.sc.maxXInArray(moveMenuArrayX)+150);moveMenuArrayXi.setX(moveMenuArrayXi.getX()-10);elseInitMoveLeft();/控制菜单向右移动if(isMoveRight)if(menuDx 150*clickRightNum)me

27、nuDx += 10;curMenuDY_n -= 3;curMenuDY_c += 3;arrowDx += 25;for(i = 0;i w_fixed+50)moveMenuArrayXi.setX(ShareCtrl.sc.minXInArray(moveMenuArrayX)-150);moveMenuArrayXi.setX(moveMenuArrayXi.getX()+10);elseInitMoveRight();4.3.2 游戏帮助界面图4.3.2 游戏帮助界面当用户不知如何玩此游戏时,可通过该帮助界面了解到此游戏的玩法和规则,点击帮助菜单,将会提示我们应该如何进行操作。文字

28、滚动动画逻辑处理:使用Android系统的截图方法,固然可以解决滚动动画,但直接使用系统级的方法总是那样的繁琐,自定义一个类工具类ToolPic,里面封装一个方法paintRegionImage方法用于处理图片的截取和显示。Public void paintRegionImage(Canvas g,Paint p,Bitmap b, int srcx, int srcy, int srcw, int srch, int absx, int absy, int anchor)g.save();src.set(srcx,srcy,srcx+srcw,srcy+srch);switch(anchor

29、)case ANCHOR_CHV:/中心点绘制dst.set(absx-srcw/2,absy-srch/2,absx+srcw/2,absy+srch/2);break;case ANCHOR_LU: /左上角绘制dst.set(absx,absy,absx+srcw,absy+srch);break;/其他g.drawBitmap(b,src,dst,p);g.restore();帮助文字从下往上滚动逻辑实现,通过控制截取的起始坐标来实现滚动。public void runHelp()helpTextStartY +;if(helpTextStartY = 581)helpTextStar

30、tY = -305;4.3.3 游戏关于界面图4.3.3 游戏关于界面关于界面是对游戏的一些基本信息做一个简要说明。4.3.4 游戏设置界面图4.3.4 游戏设置界面设置界面对于游戏的背景声音进行设置。4.3.5 游戏成就界面图4.3.5 游戏成就界面当在游戏中连击数达到一定时就能获得奖励成就。成就界面翻页动画的实现:翻书的效果可以看成是由一定的动作帧组成,每帧的大小相同。这些帧在线程中不断地刷新,就能形成连续的画面。PageTurningIndex记录翻页的哪一帧,总共有6帧。private void runAchieve()/向左翻页或向右翻页逻辑处理if(isPageMoveLeft|i

31、sPageMoveRight)pageTurningIndex +;if(pageTurningIndex = 6)pageTurningIndex = -1;isPageMoveLeft = false;isPageMoveRight = false;翻页绘制实现:/* 绘制翻页动画 isTransform :是否将图片变为镜像图片*/private void paintTurningPage(Canvas g,Paint p,boolean isTransform)switch (pageTurningIndex) case 0:paintPage(g, p, Pic.imageSrcs(

32、36), 677, 349, T.ANCHOR_CHV,isTransform);break;case 1:paintPage(g, p, Pic.imageSrcs(37), 656, 328, T.ANCHOR_CHV,isTransform);break;case 2:paintPage(g, p, Pic.imageSrcs(38), 636, 305, T.ANCHOR_CHV,isTransform);break;case 3:paintPage(g, p, Pic.imageSrcs(39), w_fixed * 3 / 4 + 10,h_fixed / 2 - 40, T.AN

33、CHOR_CHV, isTransform);break;case 4:paintPage(g, p, Pic.imageSrcs(40),w_fixed * 3 / 4 - Pic.imageSrcs(40).getWidth() / 2, h_fixed / 2 - 50, T.ANCHOR_CHV, isTransform);break;case 5:paintPage(g, p, Pic.imageSrcs(41), w_fixed / 2- Pic.imageSrcs(41).getWidth() / 2 + 20, h_fixed / 2 - 10, T.ANCHOR_CHV, i

34、sTransform);break;/* * 绘制页面翻转动画 */private void paintPage(Canvas g,Paint p,Bitmap b,int x,int y,int anchor ,boolean isMirrorTrans)if(isMirrorTrans)/通过统一工具类ToolPic类来绘制T.TP.paintImage(g, p, b, w_fixed-x, y, anchor, T.TRANS_MIRROR);else T.TP.paintImage(g, p, b, x, y, anchor);4.3.6 游戏退出图4.3.6 游戏退出界面当用户需要

35、退出游戏时,通过此界面退出可以将该游戏所占用的资源全部释放掉。private void disData() / 暂做释放处理MuAuPlayer.muaup.disMAData();Pic.systemA = null;Pic.clearSrcs();T.cv.destroyDrawingCache();T.cv = null;T.logTag(LOGKEY, 释放);4.4 游戏进行中界面实现4.4.1 游戏主界面图4.4.1 游戏主界面游戏进行中的界面类为GameCanvas,此类可以说是整个游戏的最重要的部分,整个绘制背景,物品的摆放动画,时间进度条的改变和用户操作都封装在此类中。在这个

36、类中,用户主要是观察物品出现的顺序,在进行相应的操作,如果如果忘记了物品顺序,则可以通过重新播放来重新观察,当然该功能有次数限制。(1) 时间进度条的动画实现:从放置物品开始计时,在规定的时间范围内能正确的依次找出所放物品的位置,才能完成任务。/时间进度条逻辑处理,记录系统当前时间并比较if(T.getTimec()-curSystemTime systemWaitTime)curSystemTime = T.getTimec();if(useTime != maxTime)useTime +;if(useTime = maxTime)useTime = maxTime;通过Canvas对指定

37、大小的矩形在画布指定位置上进行切割显示以实现进度动画:g.save();/在画布上切割指定大小的矩形g.clipRect(w_fixed/2-Pic.imageSrcs(69).getWidth()/2,0,w_fixed/2-Pic.imageSrcs(69).getWidth()/2+progressDefaultWidth*useTime/maxTime,480);/绘制时间进度条T.TP.paintImage(g,p,Pic.imageSrcs(69),w_fixed/2,progressDefaultHeight+2,T.ANCHOR_CHV);g.restore();(2) 物品放

38、置动画实现:物品出现的位置是随机的,按照关卡的上升的方式计算以获得在该关卡下的物品出现的个数。物品会按照时间间隔依次出现。物品缩放动画,当物品开始出现时会有由小变大的过程:if(isScale)if(scale != 1)scale -;elseisScale = false;scale = 5;orderBitmaps.get(orderBitmaps.size()-1).setScaled(false);放置物品,每隔一段时间通过T.getRandom方法获得随机数生成物品放置的位置。为保证随机数产生的数都不相同,将物品放置的每个可能的位置放到gridNumRemind的列表中,当随机到一

39、个位置后,将gridNumRemind列表中的相同的位置移除掉以保证下次的产生的随机位置不重复。当物品放置完成后,物品会隐藏起来,等待用户去寻找。private void putGoods()if(T.getTimec()-curTime waitTime)isScale = true;curGoodsNum +;if(curGoodsNum orderGoodsNum)isPutGoodsDown = true;curGoodsNum = 0;for(GameInfo info : orderBitmaps)info.setVisible(false);return;curTime = T.

40、getTimec();j = T.getRandom(gridNumRemind.size();orderBitmaps.add(new GameInfo(gridNumRemind.get(j), T.getRandom(maxGoods)+82,true);gridNumRemind.remove(j);(3) 物品放完,触碰检测:当物品放置完成后,将接受用户的触屏检查。如果点击的位置顺序与物品放置时的顺序相同,则会有相应的奖励,过关成功。如果点击顺序错误,生命值减少,过关失败。 碰撞检测:为了提高游戏运行的效率,降低消耗手机内存,采用矩形碰撞检测方法,判断触摸点是否在矩形范围内。publ

41、ic boolean isPointInRect(int x,int y,Rect r)return x=r.left&x=r.top&y=r.bottom; 当点中了了物品所在的位置,显示出隐藏的物品,并获得相应的分数以及初始化加分动画的控制变量。如果将所有隐藏的物品都找到,则游戏过关。curGoodsNum +;/点击位置正确,将隐藏的物品显示出来orderBitmaps.get(gridClickList.size()-1).setVisible(true);/获得分数currentScore += 10;score += 10;/控制加分动画变量isScoreChange = true;addScoreDy = 0;gridIndexOfAddScore = orderBitmaps.get(gridClickList.size()-1).getGridIndex(); 当没点中物品所在的位置时,生命值减少,如果生命值为零,则将状态机改为失败界面,游戏结束。if(gridClickList.get(gridClickList.size()-1) !=orderBitmaps

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号