毕业论文-基于android平台的祖玛游戏设计与实现_第1页
毕业论文-基于android平台的祖玛游戏设计与实现_第2页
毕业论文-基于android平台的祖玛游戏设计与实现_第3页
毕业论文-基于android平台的祖玛游戏设计与实现_第4页
毕业论文-基于android平台的祖玛游戏设计与实现_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要在科技文化高速发展的今天,人们对游戏的需求也日益高涨。从最初运行于掌上游戏机的“贪吃蛇”和“俄罗斯方块”到如今风靡全世界的网游无不体现了游戏的魅力。而随着智能手机终端的出现,更是为电子游戏提供了高速发展的平台。特别是IPHONE智能手机和ANDROID智能手机的面世,为掌上休闲游戏提供了更完善的开发环境。ANDROID是一种以LINUX为基础的开源代码操作系统,主要应用于手机,因为其良好的人机交互能力和能够安装使用众多功能各异的应用软件而深受人们喜爱,本文就介绍其基于ANDROID版本结合当前比较成熟的AR技术开发的一个3D“祖玛游戏”。根据游戏规则和实际需求,提出了新的构想和设计,并在这样的基础上,构建实现了祖玛游戏。论文阐述了ANDROID祖玛游戏的开发过程。首先对手机游戏的背景意义和研究现状、ANDROID平台的特征和应用构成进行介绍,其次对游戏的策划与需求进行分析,重点介绍游戏的设计与实现,然后进行综合测试。最后对游戏进行总结,提出游戏中的缺陷、不足和对未来的展望。关键词ANDROID手机3D游戏祖玛ABSTRACTWITHTHERAPIDDEVELOPMENTOFSCIENCEANDTECHNOLOGYNOWADAYS,THEDEMANDSOFENTERTAINMENTGAMESAREGROWINGFASTFROMTHEFIRSTGAMESTHATWERETHEHANDHELDS“SNAKE”AND“TETRIS”TOTODAYEXTREMELYPOPULARONLINEGAMESAROUNDTHEWORLDALLREFLECTSTHECHARMOFTHEGAMESWITHTHEEMERGENCEOFINTELLIGENTMOBILETERMINALS,AHIGHSPEEDDIGITALGAMEDEVELOPMENTPLATFORMISBETTERPROVIDEDESPECIALLYWHENTHEIPHONEANDANDROIDPHONESAREAVAILABLE,ABETTERDEVELOPMENTENVIRONMENTFORTHEAPPLICATIONSOFHANDHELDCASUALGAMESISMORECONVENIENTANDROIDISASORTOFOPENSOURCECODEOPERATINGSYSTEMTHATBASEONTHELINUX,ANDMAINLYUSEDBYMOBILEPHONEITISSOPOPULARBECAUSEOFTHEGOODHUMANMACHINEINTERACTIONCAPABILITY,ANDALSOTHEREAREALLKINDSOFFUNCTIONALAPPLICATIONSSOFTWARECANBEINSTALLEDTHATTHROUGHBYTHISOPERATINGSYSTEM,THISARTICLEWILLINTRODUCESAKINDOFMONTEZUMAGAMETHATBASESONTHEANDROIDANDCOMPARESWITHTHECURRENTMATUREARTECHNOLOGYAND3DTECHNOLOGY,THISARTICLEPOINTEDOUTANNEWIDEAANDDESIGNFORMONTEZUMADUETOTHEPEOPLESOPERATINGHABITSANDPARTICULARDEMANDS,ANDONSUCHABASISTOCONSTRUCTANDACHIEVETHISMONTEZUMAFUNCTIONTOENSURETHESECURITYANDSTABILITYOFTHESYSTEMEFFECTIVELYTHISPAPERSTATESDEVELOPMENTPROCESSOFTHEANDROIDMONTEZUMAGAMEATFIRST,ITINTRODUCESBACKGROUNDSIGNIFICANCEOFMOBILEPHONEGAMEANDRESEARCHSTATUS,CHARACTERISTICSANDAPPLICATIONCONSTITUTESOFTHEANDROIDPLATFORMSTRUCTURENEXT,THEPAPERANALYZESTHEPLANANDTHEREQUIREMENTSOFTHEGAME,ANDFOCUSESONDESIGNANDIMPLEMENTATIONOFTHEGAMETHENCOMPREHENSIVETESTINGHASMADEFORTHEDESIGNFINALLY,THEPAPERSUMMARIZESTHEGAMEANDPUTSFORWARDDEFECTSANDFUTUREOUTLOOKFORTHEGAMEKEYWORDSANDROIDMOBILEAR3DGAMEMONTEZUMA目录第一章绪论111课题的背景及意义112研究现状113论文主要工作214论文结构安排2第二章需求分析421游戏策划422美工需求423功能需求5241游戏主界面功能需求5242关卡选择界面功能需求5243游戏界面功能需求5244游戏用例分析624系统的开发测试环境925本章小结9第三章概要设计1031游戏设计目标1032游戏结构1033游戏中需要解决的关键问题1234本章小结13第四章界面设计1441游戏界面整体结构1442主界面1443关卡选择界面1544游戏界面1535本章小结15第五章详细设计与实现1651类框架介绍16511公共类16512游戏主界面相关类17513游戏运行界面相关类1852功能实现19521界面跳转与特效19522适应多种手机屏幕分辨率20523背景声音控制20524游戏关卡实现21514玩家得分记录存储21525珠子模型运动实现22526模型碰撞检测23527玩家得分实现2453本章小结26第六章总结与致谢2761本程序的总结和展望2762经验和感想27致谢29参考文献30第一章绪论在游戏产业高速发展的今天,游戏的设计思想和理念也在不断变化。而随着智能手机终端的出现,更是为手机游戏提供了高速发展的平台。本章将对ANDROID游戏的发展现状和前景进行分析,并介绍本文的研究内容和结构安排。11课题的背景及意义自上世纪80年代第一部手机诞生以来,随着计算机技术的进步,手机也经历了从模拟器到GSM、25G再到今天的3G手机如此一个发展历程。特别是进入21世纪后手机的硬件性能得到很大的提高,当前主流手机普遍配有主频500MHZ的微处理器和500MB容量的存储器。与之同步发展的还有支持手机运行的手机操作系统,从当初的单片机系统到后来的专用嵌入式系统,到后来开始为智能手机设计开发出可以更高效管理手机软硬件资源的操作系统,其中有不少属于开源项目的手机操作系统。目前全球的智能手机操作系统主要以GOOGLE公司开发的ANDROID系统、苹果公司开发的IPHONE系统、诺基亚公司开发的SYMBIAN系统、微软公司开发的WINDOWSMOBILE系统和LINUX系统为代表。手机的发展也带动了手机游戏产业的快速发展。在人们的生活中有许多的游戏,但是不同的游戏会带给玩家不同的感受和生活理念。游戏是人们日常生活的一个必不可少的娱乐项目,也带动了游戏相关产业市场的发展。游戏平台经过从游戏机到电视游戏,然后到PC游戏,再到手机游戏,中间经历了很多技术的更新和变革。但随着新技术的发展和人们生活水平质量的提高,手机开始逐渐普及,因为手机是非常小巧便捷的,而且方便的特性成为人们日常生活中必备通讯工具。而基于手机平台的游戏也就拥有的市场空间是巨大的,也因随着移动互联的发展和AR等技术的突破,手机游戏必然会迎来新的一轮游戏热潮。12论文主要工作论文研究了ANDROID开发环境以及此环境下的用户界面组件、五大ANDROID布局方式、SHAREPREFERENCES、声音播放组件等手机游戏开发相关技术。在本游戏中,首先运用ANDROID的用户界面组件构建游戏的界面,结合第三方增强现实开发工具包METIAOSDK,并运用ANDROID内嵌的SHAREPREFERENCES实现游戏配置数据的存取,为游戏的各功能模块提供数据源,最后由游戏逻辑控制引擎系统构成游戏的控制中心,。游戏需要对数据操作,对比了两种游戏数据的存取方式。第一种方式为ANDROID内置的SQLITE数据库,用于存取大容量的永久性游戏数据,为游戏提供安全稳定的数据源。第二种方式为SHAREPREFERENCES,是一个轻量级数据存储,用于存储游戏的设置信息等基本信息,由于游戏较为简洁,因此采用了第二种方式。游戏的实现同时涉及到AR增强现实技术的使用,本文还研究了第三方的AR开发包METAIOSDK,技术实现主要包括3个方面加载配置文件,加载模型,驱动模型。此游戏的最大特色是运用AR技术来再现经典祖玛游戏,将虚拟的珠子应用到真实世界场景中,从而实现对现实现实与虚拟的实时互动。AR类游戏最成功的知名度最高的当属日本开发的一个捉蝴蝶应用,本游戏中借鉴了这些作品开发技术和创作,将珠子投放到周围的空间模拟蝴蝶,加上经典的祖玛游戏玩法,这是本祖玛游戏的创新点,将最新的技术的AR技术应用在最经典的祖玛游戏中,达到了游戏与技术相结合的效果。第二章需求分析本章主要探究游戏的前期工作包括游戏策划、美工需求和功能需求三个方面描述游戏的策划与需求分析过程。21游戏策划祖玛游戏本身创意简单独特,游戏模式基于消除类游戏,并且使消除类游戏加入了更强的操作感,游戏的节奏明快,内容简单但引人入胜。借用增强现实技术和3D技术,打开游戏开启摄像头五彩缤纷的珠子在你的周边旋转,当你点击球珠后,眼前会射出一个彩色的珠子,游戏更贴近真实。游戏的策划主要包括游戏的规则、目标受众、运行的目标平台、采用的呈现技术、操作方式等几个方面。下面就针对本游戏对上述几个方面进行简单的介绍,如下所列。(1)游戏规则,本游戏为轻量级的消去类益智游戏,因此不存在很复杂的规则。这方面主要借鉴七彩祖玛与自己的构想。射击出珠子与轨道上的珠子相结合,颜色相同即可以消失得分,直到轨道上的珠子通通都被清干净为止。(2)关卡设计,本游戏设为九个关卡,每个关卡的珠子的运行速度不同,珠子出现同色的概率不同,通过控制珠子的运行速度和出现同色的概率来控制不同关卡的难度。(3)目标受众,这个游戏受众主要为年轻人。考虑到受众面广的原因,将画面设定为卡通画形式,使画面更加年轻化。(4)运行的目标平台,本游戏的目标平台为ANDROID22以上的ANDROID手机,且硬件支持OPENGLES,设备配有摄像头和重力感应等传感器。(5)操作方式,本游戏采用ANDROID手机触摸屏幕控制游戏,使操作更加简单方便。游戏使用ECLIPSE作为主要的开发工具,使用PHOTOSHOP作为图片处理工具,使用3DMAX作为3D模型处理工具。22美工需求一款游戏是否受欢迎,取决于它的娱乐性和可观赏性,高速发展的游戏产业使玩家的要求越来越严格,所以游戏的界面美化和图形设计对一个游戏至关重要,这将直接影响玩家的体验。本游戏的一些美工需求如下13D模型五彩珠子要求用3D模型实现,3D珠子模型文件需要有旋转动画,程序根据游戏逻辑调用相应动画,用3DMAX等3D处理软件达到需要的效果;并利用3DMAX的插件导出MD2格式的模型文件。2图片游戏中需要物品的显示,需要通过触摸进行一些操作,用图片来显示既美观又方便操作;格式要求PNG,PNG格式提供透明背景的图象,这对绘制游戏画面组合游戏元素带来极大的方便。计划采用网上素材和设计这两种方式,用PHOTOSHOP,3DMAX等处理软件处理游戏素材达到需要的效果。23功能需求项目实现祖玛游戏的所有基本功能,同时为了提高更好的体验度,在游戏中加入了背景音乐和音效等效果,从而使游戏从感官上更加吸引玩家。在游戏中为了方便玩家在进行游戏因琐事需要中断游戏设置了中断按钮,玩家如果觉得游戏好玩,还可以通过第三方的社交APP分享该游戏。241游戏主界面功能需求良好的用户界面,能够在视觉上吸引玩家。为了使界面简洁美观,需要在主界面中添加背景图片来渲染游戏的气氛,同时为了便于玩家的操作,需要设置四个按钮供玩家选择,分别是“开始”、“背景音乐设置”、“游戏音效设置”、“分享APP”。这样的设置让用户一目了然。具体功能如下1开始,点击跳转到游戏关卡界面;2背景音乐设置,玩家可以选择是否打开背景音乐;3游戏音效设置,玩家可以选择是否打开背景音乐;4分享APP,点击可以调用第三方社交APP分享祖玛游戏。242关卡选择界面功能需求为了方便玩家的选择关卡,当玩家进入游戏之前会先进入选择关卡界面,这个关卡界面共有9个关卡供选择,并且显示每一关的最高分数记录,方便用户对比选择关卡。具体功能如下1显示关卡信息,当前关卡数以及当前关卡的最高分;2选择需要开启的关卡,点击关卡进入当前关卡配置的祖玛游戏。243游戏界面功能需求游戏界面会显示当前游戏的关卡数、当前游戏的得分情况以及下一颗彩色珠子的颜色,玩家点击到轨道上的彩色珠子,则会向点击的方向射出一颗当前颜色的珠子,如果同色大于3个珠子,此时同色珠子会消去,玩家会根据消去彩珠的个数获得分数,这个分数超过当前关卡的最高得分记录,游戏会保存当前玩家的得分为当前关卡的最高得分记录。为防止游戏无意退出,当用户点击BACK键时游戏会进入暂停状态,并弹出对话框,玩家可以选择QUIT退出或者RESUME恢复游戏,当用户再次点击BACK键,游戏恢复到运行界面,玩家可以继续进行游戏。1分数管理,当前玩家得分后更新当前分数。2发射彩珠,玩家点击到目标彩珠会发射当前彩球到目标彩球。3游戏暂停,玩家点击到BACK键时游戏暂停同时弹出选项恢复、退出。4游戏恢复,点击恢复按钮玩家继续当前游戏。5游戏退出,玩家点击退出按钮游戏会回退到关卡选择界面。244游戏用例分析根据玩家参与的事件响应分为按钮响应、图片响应、特定区域响应,分别对应玩家点击按钮、点击物品和点击特定区域的动作,根据不同动作做出不同的响应。游戏主界面功能用例图如图21所示图21游戏功能用例图游戏运行界面功能用例图如22所示。图22游戏功能用例图游戏主界面功能用例图如图23所示图23游戏功能用例图以下为游戏功能需求的部分测试用例。其中游戏声音设置用例描述如表21所示。表21游戏声音设置用例描述用例编号201用例名称游戏声音设置用例用例概述游戏玩家完成游戏背景音乐以及音效的开关设置参与者玩家前置条件玩家已经成功启动该游戏后置条件能够通过开关按钮控制背景音乐以及音效的开关成功保证玩家通过触摸按钮正常操作,能够控制音效和背景音乐的开关基本事件流步骤活动1玩家正常启动游戏,进入游戏主界面2点击音效开关按钮,设置为关闭状态,听不到按键音效和游戏中的音效,完成改变游戏音效开关的任务3再次点击音效开关按钮,设置为打开状态,能听到按键音效和游戏中的音效,完成改变游戏音效开关的任务4点击背景音乐开关按钮,不能听到背景音乐,完成改变游戏背景音乐开关的任务5再次点击背景音乐开关按钮,能听到背景音乐,完成改变游戏背景音乐开关的任务规则与约束玩家按操作说明正确操作分享用例描述如表22所示。表22分享用例描述用例编号202用例名称分享用例用例概述游戏玩家进入游戏主界面完成游戏分享参与者玩家前置条件玩家已经成功启动该游戏后置条件能够通过触摸箭头控制游戏场景切换以及相关操作成功保证玩家通过触摸分享按钮正常操作,能够分享APP到第三方社交平台基本事件流步骤活动1玩家正常启动游戏,进入游戏主界面2点击分享按钮,弹出社交平台选项框3选择本地的第三方社交平台进行分享规则与约束玩家按操作说明正确操作选择关卡用例描述如表23所示。表23选择关卡用例描述用例编号203用例名称选择关卡用例用例概述游戏玩家完成游戏中关卡选择功能参与者玩家前置条件玩家已经成功启动该游戏并进入关卡选择界面后置条件能够通过点击关卡条目进行关卡选择成功保证玩家通过触摸关卡选线条正常操作,能够选择某一关卡基本事件流步骤活动1玩家正常进入关卡选择界面2滑动选项条目,并点击关卡条目进行选择关卡。3能够通过点击关卡条目最终进入游戏界面规则与约束玩家按操作说明正确操作射击用例描述如表24所示。表24射击用例描述用例编号204用例名称射击用例用例概述游戏玩家完成击中轨道上的目标珠子参与者玩家前置条件玩家已经成功启动游戏界面后置条件能够通过点击目标珠子当前珠子射击并插入到目标珠子后成功保证玩家通过触摸目标珠子正常操作,能够射击珠子基本事件流步骤活动续表241玩家正常进入游戏界面2点击目标珠子,击中后弹射出珠子到目标珠子后3能够向不同的目标进行设计规则与约束玩家按操作说明正确操作24本章小结本章详细探究了游戏的需求分析,完成了游戏的内容设计、美工需求和功能需求三个方面的内容。第三章概要设计本章详细描述游戏设计目标、游戏结构和游戏中需要解决的关键问题。完成设计游戏结构的具体任务将祖玛游戏按功能进行模块划分以及游戏中需要解决的关键问题,分析这些问题以及解决方法。从游戏结构和游戏中需要解决的关键问题阐述游戏设计过程。31游戏设计目标对于游戏,尤其是需要与玩家频繁交互的游戏、必须要满足游戏响应及时、使用方便、操作灵活等设计需求。本游戏在设计时应满足以下几个目标(1)为玩家提供友好简洁的界面接口。(2)能够使用户方便快捷设置游戏参数。(3)让玩家能将游戏在第三方社区进行分享。(4)实现玩家最高得分数记录存储。(5)游戏最大限度的实现易操作性。(6)游戏运行稳定、安全可靠。32游戏结构游戏整体结构主要包括声音控制系统、关卡等级系统、碰撞检测系统、运动控制系统,得分检测系统五大功能模块;每个功能模块又具体细化分为不同的子功能模块,其中声音控制系统分为背景音乐开关控制、音效开关控制,声音控制系统要求满足游戏背景音乐和游戏音效同时播放,音效要求快速及时响应,玩家点击按钮以及玩家开始游戏后射击珠子、珠子撞击、成功得分都能够及时播放音效。关卡等级系统分为最高得分记录管理、关卡难度级别管理,最高得分记录管理,当玩家的得分超过当前的最高得分记录就可以更新最高得分记录,关卡难度级别控制,依据关卡级别设置难度级别,具体实现的思路为当玩家消去一定数目的珠子后,如果满足剩余珠子的个数小于关卡总数减去当前关卡值那么在产生珠子的颜色就是在轨道中运行珠子序列中的颜色范围中随机产生一个。运动控制系统分为射击运行控制、轨道运动,控制运动控制系统主要是能够让珠子运动起来,珠子的运动可以是朝着某个方向射击,同时也可以按照预定的轨道运行。碰撞检测系统主要是检测两颗珠子在发生相对位置变化时,检测他们的位置关系是否发生了碰撞,为游戏逻辑提供游戏状态的改变。系统总功能结构如图31所示图31系统总功能结构图声音控制系统一个好的游戏,除了有真实而具有震撼力的游戏画面之外,游戏的音乐与音效也是相当重要的部分,在很多3D设计游戏中,音效的处理也是相当重要的一个工作,需要设计一个真实的3D音效。让玩家根据音效来判断所处的环境。声音控制系统主要是为了实现游戏声音的管理,玩家开启游戏后,能够播放游戏背景音乐,玩家通过设置可以控制背景音乐的开关来控制背景音乐的播放;玩家点击按钮以及玩家开始游戏后射击珠子、珠子撞击、成功得分都能够及时播放音效。实现思路通过ANDROID底层SDK提供的声音管理类来实现声音控制系统,MEDIAPLAYER类负责背景音乐的管理,SOUNDPOOL负责背景音效的管理。关卡等级系统游戏中的关卡设计是一个很棘手的问题。做得好的话能够完善玩家的游戏体验,但是做得不好也同时会毁掉所有的游戏体验。人们总喜欢去征服挑战,没有挑战的游戏会变得很无趣,但是在游戏中安插适当的挑战关卡却是个很困难的任务。也许会在游戏中添加不同难度的关卡,但是做得不好将会让游戏系统变得更加迟钝,并难以与整体游戏相适应。一个选择是,如果你要在游戏中设置不同难度的关卡,你就先要在游戏中设定一个特定的目标,例如在赛车游戏中,玩家的目标便是到达终点;并为那些喜欢真正挑战关卡等级系统得分检测系统背景音乐开关控制音效开关控制射击运动控制轨道运动控制碰撞检测系统关卡难度控制运动控制系统最得分记录控制声音控制系统游戏的玩家设定一些可选择的目标,如让汽车毫发无损地穿过一些特定的路线。这真的是一个很棘手的游戏设计元素因为玩家虽然喜欢挑战,但是同时也不喜欢太困难的游戏。关卡等级系统主要是为玩家提供不同难度等级的关卡供玩家挑战,让玩家能够体验到成就感,设置关卡的最高得分记录,供玩家挑战。实现思路关卡设置级别,依据关卡级别设置难度级别,具体实现的思路为当玩家消去一定数目的珠子后,如果满足剩余珠子的个数小于关卡总数减去当前关卡值那么在产生珠子的颜色就是在轨道中运行珠子序列中的颜色范围中随机产生一个;这个过程通过逻辑控制实现。碰撞检测系统碰撞检测技术作为一种用于判断一对或者多对物体在给定时间区域内的同一时刻是否占有共同区域的方法,其基本任务是判断两个或者多个物体彼此之间是否发生穿透或者接触,也就是判断在某一时刻两个集合模型是否发生干涉,如果集合模型之间发生碰撞,则进行相应的反馈,几乎在所有游戏中均有所应用。碰撞检测问题是基于现实生活中一个普遍存在的事实两个不可穿透的对象不可能共享相同的空间区域。游戏中,无论是物体与物体之间还是物体与场景之间,如果没有碰撞检测,那么物体之间的穿行就变成透明的,这无疑影响玩家对于真实性的体验。碰撞检测系统主要是检测两颗珠子在发生相对位置变化时,检测他们的位置关系是否发生了碰撞,为游戏逻辑提供游戏状态的改变。实现思想检测两个珠子之间的距离利用几何公式,可以获取当前珠子之间的距离,比较他们之间的距离和珠子直径的大小关系即可以检测出球是否碰撞。运动控制系统运动控制系统主要是能够让珠子运动起来,珠子的运动可以是朝着某个方向射击,同时也可以按照预定的轨道运行。实现思路通过在界面重绘过程中动态的设置模型位置实现运动。33游戏中需要解决的关键问题由于游戏元素使用了3D模型,游戏中模型位置的控制有一定的难度,同时游戏中音效的时效性,也是都具有一定的难度,具体需要解决的关键问题,包括1、获取珠子模型位置关系和大小关系,游戏需要解决珠子模型的位置关系问题,确定这些信息才可以控制珠子完成游戏逻辑,保证他们的位置关系相对正确,不会让玩家感觉到瑕疵,这种信息的精度会直接影响玩家的体验度。本文对该问题进行了详细的分析,并作出解决方案。2、珠子模型按照预定轨道运动问题游戏中的珠子需要运动在预定的轨道中,为了让珠子的运动依照预先设定的轨道,当运行到拐点的时候,珠子模型需要改变运动方向,完成游戏预定的轨道运动,只有精确的解决这个问题,游戏出现BUG才能更好的避免。3、背景音乐和音效同时播放问题背景音乐同游戏音效同时播放,能给玩家更好的感官体验,这对有游戏的实现提出了更高的要求,同时播放会出现不能及时响应的问题,只有很好的解决这个问题,玩家的体验才能更加丰富。4、关卡难度设置实现提供不同的等级的关卡,需要完成关卡难度控制,让关卡等级难度设置合理,符合玩家的需求,这是游戏设计需要解决的问题。5、碰撞检测问题弹幕射击类游戏中,游戏中的珠子模型在时刻不停的运动中,游戏系统在每个周期都需要对N个碰撞对进行检测,这样非常耗时,效率很低,影响游戏的生动性与顺畅度。因此,如何提高游戏中的碰撞检测效率是一个很重要的问题。如何选取一个更简单方便的检测模型碰撞,将是解决这个问题的关键。34本章小结本章详细探究了游戏设计目标、游戏结构和游戏中需要解决的关键问题三个方面的内容。第四章界面设计本游戏的一项难点在界面设计,好的游戏界面既能使画面美观也能提高对玩家的吸引力。本小节介绍游戏界面的具体实现过程,包括主界面、关卡界面和游戏界面的设计。41游戏界面整体结构一个别出心裁的游戏界面设计,将会提升游戏的品质,赋予游戏独特的气质,同时游戏界面也是一个发挥情感化设计,提升玩家体验,拉近与玩家之间距离,界面设计也要考虑游戏的风格和游戏内容很好的融合在一起,让玩家体验享受。友好而独特的游戏面应具备简单合理、独具风格。游戏界面设计的合理与否直接影响到玩家的体验度。从历史的发展中,尤其在WINDOWS时代,我们可以看出一个良好的用户界面接口给用户带来了极大的方便。为此祖玛游戏界面设计风格定位为简洁、实用,独具风格。游戏整体界面结构如图41所示图41游戏整体界面结构42主界面主界面是玩家进入游戏后第一界面,界面使用很具有漫画色彩的背景图片和几个简单的控制按钮组成,由一张背景图片和4个图片按钮组成,4个图片按钮,分别用来实现开始游戏、设置音效、设置背景音乐和分享APP。在主界面的配置文件ACTIVITY_MAINXML中设置背景图片的路径ANDROIDBACKGROUND“DRAWABLE/BG“,其中BG为图片的名称。设置4个图片按钮的图片路径、位置、以及按钮背景透明。游戏界面游戏主界面关卡选择界面游戏进行界面43关卡选择界面本游戏的难度根据不同关卡也略有不同,共设置9个关卡,难度依次增加,每个关卡都记录当前关卡的最高分,关卡信息使用LISTVIEW控件展现,界面简洁操作方便。每一个关卡选项为LISTVIEW的一个ITEM,关卡信息的字体为了符合背景的风格,调用了一个自定义字体控制的STYLESTYLE“STYLE/LEVENUM“,为了LISTVIEW更好滑动、点击更符合实际需求,为避免选择后系统自动添加颜色,设置其属性ANDROIDLISTSELECTOR“00000000“,为了让两个相邻的ITEM背景图片串起来的感觉,设置属性去掉分割线和背景ANDROIDBACKGROUND“DRAWABLE/TRANS“ANDROIDDIVIDER“DRAWABLE/TRANS“,TRANS为透明图片。44游戏界面游戏在进行到不同的状态,会切换到对应的界面,其中有游戏进行界面、游戏暂停界面、和通关界面。游戏界面由游戏背景、3D模型、图片、按钮组成;游戏背景由摄像头实时提供。玩家旋转手机看到3D彩珠后,点击屏幕内的珠子,监听器通过获取点击的位置坐标来完成检测是否击中珠子模型,如果击中会产生一个珠子射向目标珠子,并插入目标球之后的位置;插入新珠子后会检查是否得分,大于三个同色珠子即可成功得分,同色珠子消去,界面更新当前分数。当玩家将所有珠子全部消去,游戏自动进入成功晋级界面。游戏开始后,玩家可以按返回键是游戏进入暂停状态,再次按返回键则继续当前游戏。35本章小结本章详细探究了戏界面的具体实现过程,包括主界面、关卡界面和游戏界面的设计。第五章详细设计与实现本章详细描述该游戏的设计与实现过程。从总体类框架设计、界面设计、功能设计与实现及卡关设计的解决方案几个方面阐述游戏开发过程。51类框架介绍该游戏开发的类比较多,为了更好的理解各个类在游戏中所扮演的角色,将框架分类并对各个类的功能进行简要介绍。游戏的类框架如图51所示。图51游戏的类框架511公共类公共类主要提供基础的服务获取资源,包括声音资源,图片资源,3D模型文件的读取;以及声音播放以及控制服务,对METAIOSDK封装后对外提供基础调用。SOUNDPLAYER游戏声音控制类,包含游戏背景音乐、游戏操作音效的播放以及声音资源的切换。ASSETCONTROLLER游戏数据读取类对ASSETS文件夹内的资源进行管理,数据资源包含游戏的背景音乐、音效、3D模型贴图等。ARCAMVIEWACTIVIRY游戏界面的基类,对AR功能实现进行封装。公共类类图如52所示。图52公共类类图512游戏主界面相关类游戏界面相关类主要完成界面设计中的要求,主要继承自ACTIVITY,处理玩家与游戏交互,负责响应玩家点击按钮事件、对游戏元素的操作事件。MAINACTIVITY游戏主界面玩家进入的首个界面,这里主要功能包括游戏声音、音效控制实现以及分享功能的实现。LEVELACTIVITY玩家进入游戏之前需要选择关卡,此界面负责显示示游戏等级、最高得分记录信息,并响应玩家点击关卡选项事件。ZUMAACTIVITY游戏界面,需要响应玩家点击屏幕事件,并检测玩家是否点击到珠子模型,同样还要检测玩家的按键事件,检测到返回键,需要弹出对话框,以供玩家选择,是否退出游戏,防止玩家误操作退出游戏,玩家按到HOME键这个,需要停止游戏的背景音乐,这个还主要包含对游戏逻辑的控制,以及游戏UI的实时更新。ZUMAACTIVITY类图如53所示。图53ZUMAACTIVITY类图513游戏运行界面相关类运行界面相关类是游戏运行时,使用到的核心类,主要负责驱动游戏珠子运行,检测珠子模型的碰撞,监测玩家点击模型事件,获取点击事件后,负责动态产生珠子,产生珠子的方式包括两种一种是一种为在所有颜色中的珠子中随机产生,另外一种方式为在制定的颜色种类范围内随机产生;游戏中运行的珠子模型序列需要动态的控制整体的运动行为,可以动态的添加或者减少珠子模型。BALLTEXTURE这个类主要是为了方便获取3D模型的贴图,主要负责完成模型贴图的设置。MYBALL对珠子概念抽象出的类,主要包括珠子的色彩种类,移动速度等属性,通过修改这些属性可以控制其在游戏界面中。BALLLIST对一串连续的珠子的概念抽象得到的类,主要实现碰撞检测、插入珠子、消去珠子等功能。GAME记录游戏状态等参数的信息的类。PATH对珠子运动路线抽象出的类,主要记录游戏珠子运动轨迹的拐点信息。游戏运行界面相关类类图如54所示。图54游戏运行界面相关类类图52功能实现本小节主要介绍游戏功能的具体实现过程,包括界面跳转、背景音乐控制、关卡难度设置,玩家得分记录存储,游戏元素碰撞检测等。阐述了游戏中对数据和控制的实现方式与步骤。521界面跳转与特效本游戏由多个ACTIVITY组成,进行界面跳转的时候就需要用到ACTIVITY和INTENT来进行跳转。例如游戏主界面跳转到开始游戏界面设置INTENTINTENTSETCLASSMAINACTIVITYTHIS,LEVELACTIVITYCLASS执行跳转STARTACTIVITYINTENT创建一个INTENT,指定由当前MAINACTIVITY跳转到LEVELACTIVITY,把创建好的INTENT作为参数传递给STARTACTIVITY方法。由于使用多个ACTIVITY,因此需要在ANDROIDMAINFESTXML文件中注册这些ACTIVITY。使用标签,嵌套在标签内部。游戏界面为了更玩家更好的体验,设置全屏,在ACTIVITY的属性中设置了主题属性并设置SCREENORIENTATION属性,ANDROIDSCREENORIENTATION“PORTRAIT“ANDROIDTHEME“STYLE/THEMEFULLSCREEN“522适应多种手机屏幕分辨率ANDROID手机种类繁多,分辨率各异,为了适应不同手机运行画面的一致性,不让图片放大失真,影响玩家的体验效果,需要根据玩家的手机的分辨率动态选择游戏界面用到的资源,具体实现步骤如下1需要在ANDROID项目的配置文件ANDROIDMANIFESTXML中添加SUPPORTSSCREENS标签并设置其属性如下2在ANDROID的资源目录中的三种图片资源DRAWABLEMDPI、DRAWABLELDPI、DRAWABLEHDPI三个,这三个主要是为了支持多分辨率。DRAWABLEHDPI里面存放高分辨率的图片,如WVGA480X800,FWVGA480X854DRAWABLEMDPI里面存放中等分辨率的图片,如HVGA320X480DRAWABLELDPI里面存放低分辨率的图片,如QVGA240X320系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。523背景声音控制游戏中的声音包括背景音乐和游戏音效,对游戏声音的管理抽象出声音控制类SOUNDPLAYER,MEDIAPLAYER主要用来播放背景音乐,这也是有它的一些特性决定的,资源占用量较高、延迟时间较长、不支持多个音频同时播放等,播放背景音乐。SOUNDPOOL主要负责播放短促的音效,SOUNDPOOL对播放音效响应速度快,但播放的文件不能大于1M,音效的声音文件也不会大,为了更适好的播放音效,将音效格式转换为了OGG格式,由于音效比较多,SOUNDPLAYER类中的SOUNDMAP属性,通过KEY,VALUE的方式更好的操作音效文件。玩家在启动游戏时,初始化游戏用到的背景音乐,以及所有音效。音效和背景音乐默认为打开状态,玩家可以根据需要自行设置。当玩家退出游戏,游戏的声音需要关闭,资源需要释放。需要检测玩家是否按了HOME键判断游戏是否退出,由于ANDROID系统不提供HOME键回调,所以需要时用其他手段获知玩家按HOME键退出了游戏,要实现这个功能需要监测用户是否按下了BACK键,在BACK回调函数中设置标记我们可以获知当前ACTIVITY调用ONSTOP方法不是退出程序,否者认为玩家通过HOME键退出了程序,其他非BACK键调用ONSTOP的方式都判别为游戏退出,背景音乐关闭,资源释放。524游戏关卡实现游戏中的关卡主要目的是为玩家提供不同的难度去挑战,同时体验到成就感。依据关卡等级的高低设置不同的难度供玩家挑战。难度实现原理主要依据当前玩家剩余的珠子数如果小于某一个值,那么产生的下一颗球的颜色就是当前剩余珠子中的某一种颜色,这样减少了游戏的难度。具体实现步骤1、读取当前关卡数以及当前剩余珠子的个数并进行比对,如果满足当前剩余珠子数目小于总关卡数与当前关卡数的差的条件即SIZEPATHXLENGTH2MYBALLBALL_RX04轨迹运动实现,主要需要实时检测珠子是否越界,并作出正确的调整,保证游戏的正确运行。526模型碰撞检测模型碰撞检测实现思路游戏中检测碰撞有多种方式像素检测方式、距离检方式等。在3D中采用距离检测比较方便,容易实现,只要知道两颗珠子的半径R以及当前两颗珠子的位置坐标就可以检测碰撞,首先通过两颗球的坐标计算可得到两珠子之间的距离,如果距离小于半径R,则认为两球碰撞。碰撞检测原理示意图图如56所示图55碰撞检测原理示意图具体实现步骤1、获取珠子模型半径值。加载两颗珠子模型,让它们位置坐标中的X方向,Y方向的值都相同,都设置为1即A_BALL1,1,A_Z、B_BALL1,1,B_Z,通过观察加载模型到手机中模型的位置,如果两珠子的位置相切,则将两珠子的Z方向的值相减即A_ZB_Z绝对值即为小球的半径。2、检测两珠子的距离。首先读取珠子的三维坐标即A_BALLX1,Y1,Z1、B_BALLX2,Y2,Z2。通过三维空间的欧式距离公式LSQRTX1X22Y1Y22Z1Z22。即可获得两珠子之间的距离L。3、比较两珠子的距离L与珠子半径R的大小关系。如果L3NY同色珠子消去剩余珠0NY结束53本章小结本章完成了游戏的详细设计与实现。包括游戏策划以及类框架的构成,研究了界面、游戏逻辑控制的实现方法,并对设计过程中遇到的关键问题及难题做了深入探讨。第六章总结与致谢61本程序的总结和展望本程序设计实现了以ANDROID为平台的祖玛游戏的开发,采用增强现实AR技术,使用3D模型作为游戏元素,玩家能够射击运动中的彩珠,具有一定的可玩性和复杂性。经过了细心的调试和排错解决了绝大部分的问题。但几乎每一个计算机程序都会有这样那样的不足,尤其是未经过精心维护的非商业软件。即使是作为操作系统的各种版本的WINDOWS也时常会发生许多类型的错误和漏洞。本游戏程序对于初涉此领域的毕业设计课题来说,尤其在开始初期,感觉逻辑复杂,难以控制,因此至今还有一些未能解决的BUG。目前发现的BUG和未完善的功能列表如下1当玩家得分后,在运动的珠子即将碰到前段静止的珠子的时候,再进行小球的插入,这会碰撞不到碰撞,只能等到下一次运行到这个位置才可以检测碰撞,检测不到碰撞模型会发生重叠问题,影响玩家的体验。2游戏通过一关后,进入下一关继续进行祖玛游戏,会出现逻辑判断不准的问题,需要退出游戏,重新启动就没有这个问题。3手机运行程序过多时,新产生珠子的贴图会出现丢失问题。4关卡选择的LISTVIEW顶部和底部局部不能及时刷新。已经解决的重要BUG1部分情况下,珠子出现越界问题得到修正。2游戏退出背景音乐仍然播放问题解决。3玩家得分超过最高分数99分,会出现游戏退出得到解决。62经验和感想祖玛游戏作为毕业设计设计,是做过的系统中复杂度最大的程序设计。虽然大学期间在NET下设计过一个类似QQ的聊天系统,也曾用JSP技术设计过简单的旅游网站系统,但是游戏系统是我未曾接触过的,通过祖玛游戏毕业设计,让我收获颇丰,游戏经过反复的调试修改也达到了一定的精确性。在大学期间的学习中做过很多课程设计,大多规模很小。在数各种应用软件和游戏中,我仍觉得对游戏的设计有极大的热情。因为其各个模块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能最终看到成品,有无比自豪的心情。大学期间做过的课程设计,思想大致相似,变化范围有限,没有太多自己可发挥的余地。大家作品的最终结果都离不开同一个模式。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥,正式商业的软件的人性化界面和各个游戏间迥异的结构都会让人有去开发的冲动。游戏程序最大限度的利用了硬件条件,因此展现出的画面往往多彩绚丽、效果惊人。成功的游戏融合了三维运算、音效处理等计算机多媒体的精华部分。本课程设计建立在ANDROID平台上,借助增强技术呈现祖玛游戏。凭着探索新知识的热情,我选择了该题目。经过2个多月的努力,我的毕业设计工作即将完成。在本次毕业设计之前我对ANDROID的了解几乎为零,对图片处理也很不熟悉,使得我在毕业设计在开始阶段十分的困难。在花了大量的时间查阅资源后,我又发现我对游戏开发需要的技术和大量图片无从下手,对于毕业设计的工作一度感到力不从心,不过终于借助ANDROID专业书籍和源代码的阅读,并且在导师的耐心指导和帮助下完成了此次的毕业设计。由于对ANDROID开发的不熟悉,我碰到了很多问题,走不了少的弯路,面对这些问题我也只能硬着头皮认真排查和上网求助,最终解决了问题。在解决问题的过程中,学会了自主学习的方法,熟悉了很多程序编写规范和经典编程理念。完成此次游戏开发项目,我学会了灵活运用基础理论知识,结合实际情况解决问题。最终实现了运用ANDROID组件设计游戏的界面,实现游戏声音播放,结合增强现实技术,完成了祖玛游戏。虽然我的论文作品不是很成熟,还有很多不足之处,但每一次解决困难的过程中,我积累了经验,学会了遇到困难不放弃和求真务实的学习态度。尽管本次毕业设计的祖玛游戏已经基本开发完成,但这是我第一次开发基于ANDROID的游戏,相对于成熟的游戏,游戏中还存在许多的不足,针对这些问题下一步的工作计划如下(1)优化游戏界面,使游戏风格统一、界面美观自然;(2)完善游戏的一些功能,能够在游戏中退出游戏;(3)优化代码,使代码更加简洁。致谢感谢青岛理工大学琴岛学院对我几年的培养衷心感谢我的导师王世广老师,王老师从我的研究方向、游戏软件的实现及软件的完善过程中都给予了我细致全面的指导,对论文结构及内容都提出了很多宝贵的建议。王老师渊博的知识,敏锐的专业眼光、认真扎实的科研态度、一丝不苟的工作态度和厚重的学者风范让我感触颇深。我的设计大部分时间都是在寝室进行的,由此,我必须要感谢寝室同学们无私的帮助。感谢那些网上的朋友对我在收集资料和遇到难题的时候所提供的热情援助。衷心感谢百忙之中仍抽出宝贵时间评阅我论文的专家学者,感谢你们辛勤的审阅论文。由于水平有限,设计作品有很多不足之处,请老师和同学们多多批评、指正。谢谢在此,我表示衷心的感谢和崇高的敬意。参考文献1李华明ANDROID游戏编程之从零开始2METAIOAR技术官网HTTP/DEVMETAIOCOM/3安卓软件游戏下载豌豆荚HTTP/WWWWANDOUJIACOM/APPS4EXUPERYS,吴群芳译小王子M西苑出版社,200485苏志同,石绍坤手机游戏开发架构的研究J计算机工程与设计2010,76罗震ANDROID平台环境下应用程序架构的设计与实现D华中科技大学,20097郭宏志ANDROID应用开发详解M电子工业出版社,201068杨鲁新可视化游戏编程技术M中国水利水电出版社,20109王向辉,张国印,赖明珠ANDROID应用程序开发M清华大学出版社,2012510SRINIVASANDESIKA软件测试原理与实践M机械工业出版社,200911贺飞智能手机操作系统在全球各地区份额调查报告HTTP/MOBILEYESKYCOM/262/11693762SHTML20121120AGANEMPLOYMENTTRIBUNALCLAIEMLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTIIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论