版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要在战争中兴起的拼图游戏,经过数两百多年仍然受到大众的喜爱。拼图游戏最初是为了让作战者了解地理形势,将地图划分小卡片状并打乱顺序,让作战者重新拼好以加深记忆,后来发展成为全民游戏。起初我们接触到的拼图就是如同战争时期基本无异,是一些带特定锯齿的小卡片,但是在网络技术发达的今天,我们已经不再局限实物小卡片拼图,我们有了可以在移动设备上虽是随地玩的拼图游戏。本文描述了使用unity3D引擎设计与实现的一款名叫“Funny”的拼图游戏,介绍在这款拼图游戏中如何实现网格化排序、将图片分割、通过移动将图片碎片还原的技巧和方法,同时介绍控制拼图碎片与空白格交换的c#脚本要点,并且完成后使此款游戏能够在Android手机上运行。关键词:拼图游戏unity3Dc#AndroidAbstractThepuzzlegame,createdduringthewar,isstillpopularaftermorethan200years.Puzzlesgamewereoriginallydevelopedasawayforfighterstounderstandgeography,bydividingthemapintosmallcardsandshufflingtheminorderforthemtoreassemblethemtodeepentheirmemory.Inthebeginning,thepuzzleswewereexposedtowerebasicallythesameasinthewarperiod,smallcardswithcertainjaggededges,butintoday'sadvancednetworktechnology,wearenolongerlimitedtophysicalpuzzlesgame,wehavegamesthatcanbeplayedanywhereonmobiledevices.Thisarticledescribestheuseofunity3denginedesignandimplementationofajigsawpuzzle,named"Funny",introduceshowtorealizethegridsinthispuzzlegame,theimagesegmentation,bymovingtheimagefragmentsreductiontechniquesandmethods,andintroducesthecontrolofanexchangeofjigsawpiecesandblank,keypointsofc#scripts,andafterthecompletionoftheenablethegametorunonAndroidphones.Keywords:Puzzlegameunity3Dc#Android目录TOC\o"1-3"\h\u第一章绪论 绪论1.1研究内容本课题名称是《基于unity3d的休闲游戏Funny的设计与实现》,研究内容是基于unity3d游戏开发引擎,运用C#语言,设计并实现一款名为Funny的拼图游戏,该拼图游戏完成后可以导出为Androidpackage,即众人所熟悉的apk程序,在基于Android操作系统的智能移动手机上运行。1.2选题的背景与意义在电子游戏盛行的今天,我们使用的移动设备都装载着各种各样的游戏软件,比较耳熟能详的有腾讯旗下的王者荣耀、和平精英,网易旗下的阴阳师等大型竞技类电子游戏,也有如欢乐斗地主、奇迹暖暖、开心消消乐等休闲类电子游戏。随着5G时代的来临,移动设备将会普及到各个角落,人们对移动设备越来越依赖,电子游戏则会随着移动设备的增长而增长。现实生活中有非常多例子能够证明移动设备持有量仍然处于增长的趋势,就好比我们大学生。相关研究报告指出,大学生对电子产品数码产品消费总额仅次于基础生活消费总额,而数码产品这方面的消费智能手机是名列前茅的,消费规模甚至高达500多亿,几乎人均拥有1-2台智能手机[2]。而且国家的经济仍然保持增长的速度,意味着老百姓的生活水平仍然会提高,加之基础通信基站的建设,和优惠政策力度加大,偏远地区的百姓也能够使用上智能手机与外界联系,而基于Android操作系统的手机在我国是主流的,因此Android平台的开发缺口仍然很大。此外由于大部分年轻人在繁忙的工作压力下更倾向于通过电子游戏来解压,因为工作中途休息时间不长,没有足够的时间玩大型竞技类电子游戏,所以休闲类游戏更加容易取得他们的青睐。纵观电子游戏发展历程,我们会发现到拼图游戏在休闲类游戏中十种占据着重要的地位,在大众认知里是无法磨灭的存在。它诞生时间比较早,但是没有随着社会发展而消失,反而依托网络技术与电子设备不断创新,在电子游戏市场中不可或缺的。拼图游戏之所以能够在各类休闲游戏百花齐放的今时今日还能够保持着独特地位,是因为拼图游戏能够带给大众一种乐此不疲甚至废寝忘食的成就感——花费不少时间、耗费不少精力,将一大堆零零散散的小卡片还原成精美完整的画,这过程不仅需要细心耐心还要学会分类,这个得之不易的成就感就如解开一道非常难的数学题一样,是乐趣无穷的。同时在玩拼图的时候能够锻炼一个人的专注力,还能抛开世间繁杂享受安静的独处时光。1.3开发方法此游戏的开发方法选择软件系统开发中常见的生命周期法。生命周期法指一个项目的生命周期,包括项目的提出、对项目进行分析得到需求、根据项目需求进行设计实现、对项目实现的功能进行测试、通过测试的项目发布使用、对已发布的项目进行维护、项目停止使用。此开发方法是一个自上而下的开发过程,使得项目开发阶段具有明确性,直观性。而且此游戏的需求比较单一、明确,因此选择生命周期法来开发是非常正确的选择。1.4文章结构本文结构分为五层,第一层即第一章内容,交代了本文研究的内容、研究背景与意义、开发方法;第二层为第二章内容,主要介绍开发使用的工具以及关于该工具的介绍、开发中常用的函数;第三层为第三章内容,对游戏系统进行可行性、功能需求、性能需求进行分析;第四章内容为根据功能需求提出设计,并分析需求提出概要设计和实现流程;第五章是第五层的内容,为详细设计与实现,包括了控件使用、脚本编写;第六章是最后一层,为测试部分,包括测试计划、测试用例。
第二章工具介绍和常用函数介绍2.1工具介绍与优劣势分析2.1.1unity3d游戏开发引擎本游戏Funny的实现是借助unity3d游戏开发引擎来实现的。Unity3d是近年来一款常用并且在大众中知名度比较高的游戏开发引擎,用通俗的话来说就是一个做游戏用的软件,由unitytechnologies开发的,是一个让你轻松制作多平台游戏的开发工具,是一个全面整合的专业游戏引擎。我们生活中也接触过不少由基于unity3d开发出来的游戏,比较有名气的有神庙逃亡、将魂三国、炉石传说等。Unity有独特的通用性,与不适合移动设备的ogre对比,unity的通用性就比较突出,它可以开发出基于各种平台的游戏,比如移动端的iPhone、Android、黑莓;PC端的Windows、Mac、Linux;网页上各种主流浏览器;专用游戏机上的Xbox、ps3、ps4等。Unity技术应用范围也极其广泛,如基于unity的虚拟现实开发就可以应用到医疗上,而不仅仅局限在游戏开发。还有当前热门的人工智能技术,在人工智能中的所用的语音识别交互方式就与基于unity的AR技术相关。但是因为unity3d开发是新的领域,人才方面紧缺,据数据显示在国内只有不足一万的专业unity开发工程师,市场的需求比较大,缺口高达80万,所以会使用unity3d开发引擎的游戏开发人员竞争力会大大增加。因为就业市场火爆,专业的unity开发工程师薪资非常可观,而且根据相关部门统计,一半的unity工程师工作在两年到四年内平均薪资远高于其他软件开发岗位,可以说unity开发工程师是耗时短薪资高的岗位了。Unity3d开发凭借成本低、时间短、前景好得到游戏界内大师们的认可,但是它也有其局限性,运行时所占内存大,对硬件(电脑、平板等)要求高。2.1.2visualstudio开发环境本游戏脚本是在visualstudio开发环境中使用C语言来编译的。为了方便介绍Visualstudio,我们将用vs简写来代替visualstudio。Vs是由微软公司开发的系列产品之一,这是一个开发环境,它具有很大的包容性,c语言、c++语言、c#语言、visualbasic和F#语言都可以在vs中编译,而且再次环境中所编译的代码能够在微软支持的平台运行。相对于其他开发环境,vs尤其独特的可视化优点,具体表现在在编辑代码或UI时,会有各种直观的提示和辅助功能,给用户带来极大的便利。2.1.3游戏兼容平台介绍本游戏兼容WindowsPC端和Android移动端。Windows系统这个算得上是我们的老熟人了,相信几乎所有人都是从Windows系统基础上熟悉和学习电脑操作的,从最经典XP版本到目前的win10版本,Windows随着技术发展一直在更新换代,如今的win10版本于XP版相比,操作更加人性化,虽然初期有很多兼容性问题,但后面经过不断更新也能很好的解决这一点。Android系统也是大众非常熟悉的老朋友,几乎每个人都拥有过一台Android手机。对于Android相信大家都不陌生,是由google和OHA主导和开发的,主要应用于移动设备的操作系统,如智能手机、平板电脑等。基于开源的linux,有着特有的个性化、实用性和扩展性,得到众多平台大力支持。同时因为其可移植性强,其研发公司Google致力于将其打造为开放式移动终端平台,因此很多app应运而生。2.2常用生命周期方法介绍VoidAwake(){}:用于初始化游戏对象,只运行一次,不受脚本关闭影响,比Start要早。VoidStart(){}:只运行一次,在物体初始化后,当这个物体被激活是才能够执行函数里的语句。VoidUpdate(){}:每一帧都会执行。VoidFixedUpdate(){}:固定更新事件,一直执行。VoidOnEnable(){}:在激活时(即start事件后)调用,即每当脚本启动时运行一次。VoidOnDisable(){}:当脚本被禁用或隐藏时调用(注:脚本被销毁前会先禁用在销毁)。VoidOnDestroy(){}:当脚本被移除后执行。Void
LateUpdate(){}:稍后更新事件,每帧调用,比Update晚一步。
第三章游戏系统分析3.1系统方案分析3.1.1系统目标为了给年轻一族的碎片化的休闲时间增加乐趣,同时让年轻人充分利用休闲时间增长见识,而实现一个拼图游戏系统。本游戏系统中将实现集文化传播、教育、休闲于一体的益智休闲类游戏,为广大群体在休闲时间上提供一个别致的体验。3.1.2系统初步规划经过对已有拼图游戏的了解,发大多数拼图游戏模式单一,适合低年龄段的人群使用,其内容方面远远不能称得上新颖。因此针对这一点,本游戏初步规划将使用用户范围扩大,不再局限单一模式,应符合信息时代的发展。同时内容要确保质量,不选择与法律项违背的内容,而且内容上要是的用户从中得到收益。总结初步规划的两大点即,①模式上拜托单一模式;②内容上要新颖且质量要保证。3.1.3系统实施方案调查研究市面上已有拼图游戏种类,分析内容调查用户对拼图游戏的需求,以及对游戏功能上的期望要求分析需求,制定方案。收集游戏制作方法资料、素材等选择游戏开发平台根据制作方案实施项目完成项目后发布日常进行维护3.2系统可行性分析3.2.1市场可行性由于智能手机的普及,手机适用年龄段人群越来越偏向年轻化,甚至小学生年龄段的群体都拥有智能手机,用户群体庞大,因此本游戏宽广的市场前景。3.2.2政策可行性随着国家经济蓬勃发展,各种惠民政策都能落实到位,如家电下乡补贴等政策优惠,使得偏远地区和农村地区的人群都能够用上智能手机,本游戏的实现将给这部分人群带来新的乐趣。3.2.3技术可行性本游戏在技术方面要求不高,只需使用unity3d开发引擎与visualstudio脚本开发平台即可,场景制作和脚本比较简单,对技术人员技能要求不高,成本比较低,因此具备本游戏系统开发技术可行性。3.3系统功能需求分析本游戏系统非单一页面的,要关联起来的页面比较多;纵观市场上所有游戏,几乎都具有游戏背景音乐,以增加游戏的趣味性,但用户有时候会选择关闭游戏的背景音乐,因此本游戏的背景音乐要允许用户关闭与开启;联系生活实际,生活中遇到的每个任务都有胜利和失败的结果,因此游戏中也不能例外,否则无法保证游戏的完整性;为了使用户在长时间使用本游戏时不会出现厌倦的情绪,需要使用一些手段使游戏具有挑战性,用户可以在游戏中产生成就感与征服感。因此本游戏系统需要具备功能一下功能:①页面与页面之间具有跳转功能,如菜单页面点击开始,要触发页面跳转,跳转至关联的游戏页面。②音频设置功能,用户可以通过设置页面调整背景音乐的音量大小以及一键关闭背景音乐。③触发提示功能,用户在游戏中完成或未完成关卡任务时触发对应的提示,如完成时提示胜利,未完成则提示失败。④计时功能,开始游戏时,页面中出现倒计时剩余时间,用户在倒计时结束前完成即为胜利,倒计时剩余时间为零且用户未能完成本关卡任务即为失败。3.4系统性能需求分析本游戏系统非庞大性系统,因此对性能要求不高,但本游戏系统运行平台为Windows与Android,需要考虑兼容问题,除此以外只需要做到简单易用和日常维护方便即可。
第四章游戏系统设计4.1系统总体设计本拼图游戏基于传统9宫格玩法,以竞技游戏的中常见的闯关模式进行关卡切换,令玩家在休闲游戏中也能获得巨大的成就感与快乐。同时,本游戏内容丰富,不仅包含了传统文化还有二次元文化,甚至包括儿童学前内容,让游戏符合各个年龄段玩家,扩大玩家群体,不再局限青少年或者上班族。4.2系统模块设计4.2.1界面设计本游戏界面风格以强烈碰撞的色彩为主。界面中包含有开始游戏按钮、选择模式按钮、设置按钮。其中点击开始按钮则默认是选择传统文化模式,直接进入到传统文化游戏关卡。点击选择模式按钮则进入模式选择界面。点击设置按钮则进入到设置界面,该界面包含音乐播放控件、音量调节控件等内容,在设置中调节了音量后在游戏模式中的音量与设置的一致。①菜单界面设计图4.SEQ图4.\*ARABIC1菜单界面开始游戏:点击开始按钮,默认选择第一个模式的第一关,直接进入该游戏页面开始游戏。游戏设置:点击游戏设置按钮,弹出弹窗,弹窗中放置了音乐播放控件、音量调节控件。模式选择:点击模式选择按钮,页面跳转到模式选择页面。退出游戏:点击退出游戏按钮直接关闭程序。②加载页面设计,如图4.2所示。图4.SEQ图4.\*ARABIC2加载界面4.2.2模式设计本游戏模式丰富,其中设定的有传统文化模式、二次元模式、儿童教育模式。传统文化模式包括传统节日图片、古文字、以及名画等;二次元模式包含二次元图片等;儿童教育模式包含的内容有儿童学前教育、儿童识字教育等内容;其他模式留着等之后时添加,现在点击其他模式会提示“敬请期待”。页面设计如图4.3所示。图4.SEQ图4.\*ARABIC3模式选择界面4.2.3关卡设计本游戏每个模式的关卡设置为10个,并且关卡难度一级一级升高。进入模式后可以选择关卡进行游戏,每个关卡都有时间限制,到达规定时间未通关的,弹出提示框提示玩家“你输了”,然后返回到模式下的关卡选择界面。其中传统文化模式的关卡的安排为简单的图片、文字,文字关卡首先是日常中常见的文字,然后到根据提示猜字;二次元模式下的关卡设置为先是简单的卡通人物,然后是细节较多的二次元图片;儿童教育模式为简单的常见物品、简单的文字。4.2.4关卡难度设计每个模式都用十个关卡,关卡在页面上排列如图4.4所示。图4.SEQ图4.\*ARABIC4模式选择界面每个关卡的难度都不一致,难度是逐渐递增的,如第一关难度是简单的图形拼图;第二关难度稍微增大,图形变复杂;第三关的难度要比第二关大,并且与第一关难难度有明显的区别;第四关后可以设计一些谜语,拼图内容即为谜底,当玩家通过该关卡时,会有与拼图图片相关的科普展示,这样玩家技能在游戏中发挥脑洞,还能学习到额外知识,游戏的趣味性也随之大大增加了。4.3开发流程本游戏开发由一人单独完成,因此无明确分工。个人包揽了对开发项目的可行性分析阶段、需求分析阶段、项目设计阶段、实施阶段、测试阶段和发布阶段,此外因为时间和人力方面限制,游戏中的美术、音频资源是借助网络资源的。开发流程如图4.5所示.图4.SEQ图4.\*ARABIC5开发流程4.4游戏基本操作流程运行游戏,等待进入游戏菜单页面。进入菜单页面点击开始游戏按钮,默认选择第一个模式的第一关。进入游戏页面后点击游戏区域中与空白碎片相近的拼图碎片,直到拼图完成,则弹出弹窗提示胜利,返回关卡选择页面,可以点击第二关进入第二关游戏。若是在关卡中规定的时间内无法完成该关卡拼图,则弹出弹窗提示失败,可以选择返回关卡选择页面或直接退出游戏。流程图如图4.6所示。图4.SEQ图4.\*ARABIC6游戏基本流程
第五章游戏系统实现5.1界面模块实现5.1.1用户界面实现首界面是用户界面的一部分,是人与机器交互的第一个界面,也是交互的重要手段,没有首界面,制作出来的游戏不算是一个完整的、人性化的游戏。这个界面主要包括UI元素,如UI动画、页面跳转等。本游戏的首界面是指游戏加载界面和菜单界面。此处加载界面不作过多设计,就直接使用unity3D自带的闪屏界面作为加载游戏页面。如图5.1所示。图5.SEQ图5.\*ARABIC1加载页面菜单页面是游戏的主要页面之一。菜单页面包括开始有关系按钮、游戏设置按钮、选择模式按钮、退出游戏按钮。制作过程:创建一个Image,然后调整recttransform中的相关参数,使得UI界面可以自适应;再创建4个button和1个label,button用来制作开始游戏、游戏设置、模式选择和退出游戏按钮,label用来制作显示在菜单页面上的标题。效果图如图5.2所示。图5.SEQ图5.\*ARABIC2游戏菜单界面创建脚本,在脚本中编写按钮的触发反应,然后挂在4个按钮上,完成后点击按钮就有相关的反应。如开始游戏按钮,点击开始游戏按钮,会跳转到游戏页面,脚本如下:publicvoidSceneChange(intsceneIndex){SceneManager.LoadScene(sceneIndex);}然后在buildsettings页面添加游戏页面scene后,在开始按钮的inspector栏添加onclick事件,如图5.3、图5.4所示。图5.SEQ图5.\*ARABIC3buildsettings中添加scenes图5.SEQ图5.\*ARABIC4onclick添加scenes序号5.1.2模式选择界面和关卡选择界面的实现本游戏包含了四种游戏模式:传统文化模式、二次元模式、儿童教育模式、自定义模式。其中前三个模式下每个模式有十个关卡,自动以模式不设置关卡。点击选择模式后才能进入该模式的关卡选择页面。选择一个关卡通关后根据顺序跳转下一关卡,也可以直接在关卡页面选择关卡进行通关。实现的选择界面和模式下关卡界面如图5.5、图5.6所示。图5.SEQ图5.\*ARABIC5模式选择界面图5.SEQ图5.\*ARABIC6关卡选择界面实现步骤:新建一个scene命名为“模式选择”,在scene中创建一个Image,然后调整recttransform中的相关参数,使得UI界面可以自适应;再创建4个button和1个label,button用来制作传统文化、二次元模式、儿童教育模式按钮,label用来制作显示在模式选择页面上的标题。然后将页面跳转脚本挂载到设置的4个bottom中,使得点击bottom可以跳转不到同模式关卡选择界面。5.2音频模块实现音频模块是游戏中常见的一个重要模块,根据相关研究,音乐能够使人放松,也能使人身临其境,游戏中的背景音乐可以提高用户的兴奋度,这也是为何大型联机游戏这么重视游戏背景音乐的原因。本游戏的音频分别背景音乐和音效。背景音乐主要是用在菜单界面和游戏界面,它是不受操作影响的,进入到页面即可循环播放。背景音乐的选择需要精挑细选,优质的背景音乐能为游戏体验感加分,如果选择了不符合游戏主题的,对于用户来说就是游戏的一大吐槽点,严重的话会导致游戏因缺少用户,失去价值。如本游戏是一个休闲游戏,却选择了悲伤的或者恐怖的背景音乐,会导致用户体验感非常差。此外还有游戏中移动拼图碎片的音效和按钮点击音效。音频模块的实现过程:先建一个文件夹用来存放音频,将收集的音频放进该文件夹中。创建一个空物体并重新命名,在这个空物体中添加unity3D自带的组件Toggle和slider,新建脚本用于控制音频在背景播放,脚本内容如下:publicAudioSourcemusic;publicToggletoggle;publicvoidPlayMusic(){if(toggle.isOn){music.Play();}else{music.Stop();}}//UsethisforinitializationvoidStart(){}//UpdateiscalledonceperframevoidUpdate(){}此外在菜单界面和游戏界面中可以都对该页面的背景音乐调节音量和一键静音,如拖动音量控制条可以控制音量大小,取消音乐勾选则表示不开启背景音乐。效果如图5.7所示。图5.SEQ图5.\*ARABIC7关卡选择界面5.3计时模块实现为了丰富游戏的趣味性,计划在游戏中做了一个时间限制,就是在规定时间内完成当前关卡的拼图,让玩家在游戏中能够找到刺激感,更具有征服感与成就感。因此本游戏设计了一个倒计时的模块,在倒计时结束前完成该关卡的拼图,则提示玩家“你赢了,恭喜过关!”;若倒计时结束,玩家还没完成拼图,则提示“你输了!请再接再厉。”。每个关卡的倒计时长都不同,难度是逐渐增加的,也就是倒计时长会随着关卡数的增加而越来越短,关卡中的拼图也越来越难。实现过程:在场景中新建一个image用来作为倒计时的背景,使得倒计时在页面上的位置明显一些。首先在image中新建一个text的UI用来显示格式化的时间,并将text放在image上。然后新建脚本并重新命名Time,脚本中设定倒计时的时间计算方式和textUI上显示的时间格式,本游戏的倒计时是一秒一秒的减少,当时间减到0时,就会直接跳转至领完的页面,并提示失败;若在时间内完成游戏,则时间停止并跳到成功页面提示成功。最后将脚本挂在image上,并且在参数设置中对应填写值。效果图如图5.8所示。图5.SEQ图5.\*ARABIC8计时显示脚本代码如图5.9所示。图5.SEQ图5.\*ARABIC9倒计时脚本5.4拼图模块实现拼图模块是本游戏的核心内容,也是本游戏的主要功能。本游戏的拼图模式是以9宫格为主,但是要保留一个空位置来移动碎片,因此,要设计一张图片被切割为9块碎片,并设置任意一块碎片为空图片,点击靠近空图片的碎片,碎片会与空图片交换,每次交换都会检测一次碎片的位置是否正确,系统检测到所有的碎片的位置都正确,页面跳转到胜利页面,提示“你赢了,恭喜过关!”。拼图在游戏页面显示地方如图5.10所示。图5.SEQ图5.\*ARABIC10游戏主要界面拼图碎片排列示意图如图5.11所示。图5.SEQ图5.\*ARABIC11游戏主要界面实现过程:准备一张图片,此图片是拼图碎片的来源,要对此图片进行切割。将图片拖拽到unity3d中,更改为精灵图,放入特定目录下。对该精灵图进行编辑,将它切成9个同等大小的碎片,切割时自动记录顺序,以便每次进行变换时遍历对比顺序是否正确。本游戏的关键点是实现图片的切割和移动,因此首先要有一个网格布局来存放图片切割成的碎片。网格布局在游戏中是非常常见的一种排版方式,参考过很多的游戏案例,大部分游戏中的背包、商城物品的展示、地图等都是使用网格布局的,涉及到一个GridLayoutGroup类的使用,GridLayoutGroup是UGUI封装的布局脚本,同时U3d里也有GridLayoutGroup这个控件。了解一下就发现页面展示部分和需要用来承载拼图碎片的网格布局实际上由scrollview控件为基础,在基础上加入GridLayoutGroup控件来实现。Scrollview中有三个子控件,分别是Viewport、ScrollbarHorizontal、ScrollbarVertical,其中Viewport就是网格的显示区域,超出这个区域的内容会显示到背景外面去,而ScrollbarHorizontal、ScrollbarVertical分别是横向和竖向的滚动条了。然而拼图中也不需要用到横向或竖向的滚动,因此要将其删掉。删掉后页面就只能viewport这个子控件了,而真正可以承载内容的区域是viewport里面的content,GridLayoutGroup控件要放在此处。在content下创建一个bottom,将它拖至文件夹中成为一个预制体prefab,编写脚本让prefab成为一个按钮并实例化,指定它为父控件。完成后回到编辑界面中,将这个预制体拖到脚本中,然后删除content里的bottom。同时将制作好的精灵图也拖到脚本中,运行就可以得到9个网格化的碎片了。编写脚本,随机在9个网格中随机选择一个网格生成空图片,实现点击空图片相近的图片进行交换,每一次交换系统会进行遍历,确认整个拼图的顺序是否正确,不正确则可以继续移动,吮吸正确则跳转到胜利页面。效果如图5.12所示。图5.SEQ图5.\*ARABIC12游戏主界面给碎片加按钮事件脚本如图5.13所示。图5.SEQ图5.\*ARABIC13碎片按钮脚本拼图与空白图片交换脚本如图5.14所示。图5.SEQ图5.\*ARABIC14交换脚本
第六章游戏测试6.1测试目的测试是软件生命周期中必不可缺的一部分,测试确保了软件的可用性以及是否有使用价值。对软件进行测试是去发现程序中是否存在错误,判断制造出来的程序是否满足了初始需求或者设计。因此一个项目的完成都要经过测试这一步骤,以此来鉴定软件的正确性、完整性、安全性和软件的质量。6.2测试背景与内容本游戏制作的初衷是为用户提供一款简单、轻松的游戏,游戏的本质目标为简单而非繁杂的,用户可以通过这款游戏来放松自己的,而且所占时间不应该太多而并减少游戏带来的疲惫感。本游戏的主要要点包括:页面跳转、选择功能、音频调节、弹窗、计时、退出游戏、开始游戏等。本游戏的主要模块包括菜单页面、模式选择页面、关卡选择页面、游戏页面、胜利\失败页面。6.3测试进度安排任务名称计划工时(人*日)菜单页面0.5模式选择页面1关卡选择页面1游戏页面2胜利\失败页面1软件与操作系统兼容性0.5合计66.4测试目标6.4.1功能测试目标测试目标确保测试的功能正常,达到与需求功能要求。测试范围:页面跳转、选择功能、音频调整、计时、退出游戏、开始游戏、拼图碎片移动技术:手工测试开始标准:各个功能点都已经准备就绪完成标准:各个功能点都达到预期效果需考虑的事项:功能点是否能按照要求作出对应反应,各个功能是否正常,软件中的运行逻辑是否正确。6.4.2用户界面测试目标测试目标通过测试进行的浏览可正确反映业务的功能和需求,包括窗口与窗口之间、字段与字段之间的浏览,确保窗口的对象和特征(例如,菜单、大小、位置、状态和中心)都符合标准测试范围:菜单页面、模式选择页面、关卡选择页面、游戏页面、胜利\失败页面。技术:手工测试开始标准:功能点已按需求实现完成标准:成功地核实出各个窗口都与基准版本保持一致,或符合可接受标准需考虑的事项:界面是否美观、简洁,系统是否易于操作按钮是否有按钮效果,按钮位置是否美观6.4.3兼容性测试目标测试目标核实测试在不同的软\硬件平台上是否可以正常运行测试范围:软件与各种硬件设备兼容性,与操作系统兼容性技术:手工测试开始标准:软件基本功能实现,运行通畅完成标准:对于测试对象软件和非测试对象软件的各种组合,所有事务都成功完成,没有出现任何故障。需考虑的事项:软件是否出现卡顿或无法加载软件在运行过程中是否出现闪退或崩塌6.5测试用例6.5.1功能测试用例用例编号001模块名称页面跳转、选择功能、音频调节、计时、退出游戏、开始游戏、拼图碎片移动版本号v0.1测试结果通过前置条件软件已完成该测试功能点测试项操作步骤预期结果实际结果开始游戏、退出游戏、页面跳转、倒计时进入游戏菜单页面点击【开始游戏】点击游戏页面【返回】按钮点击【开始游戏】,等待游戏页面上倒计时结束点击页面【返回】按钮菜单页面点击【退出游戏】成功进入菜单页面成功跳转至游戏页面倒计时开始跳转返回菜单页面倒计时结束,页面跳转至失败页面跳转返回菜单页面成功退出游戏成功进入菜单页面成功跳转至游戏页面倒计时开始跳转返回菜单页面倒计时结束,页面跳转至失败页面跳转返回菜单页面成功退出游戏音频调整点击菜单页面【游戏设置】拖动音量滚条取消勾选进入游戏设置页面音量随滚条改变而改变,左低右高勾选则播放音乐,取消勾选则停止播放进入游戏设置页面音量随滚条改变而改变,左低右高6、勾选则播放音乐,取消勾选则停止播放选择功能点击菜单页面【模式选择】点击任一模式点击任一关卡进入模式选择页面进入游戏页面1、进入模式选择页面2、进入游戏页面拼图碎片移动游戏页面中点击与空白图片相近的碎片点击与空白图片相隔的碎片碎片与空白图片交换位置碎片仍在当前位置,不能移动1、碎片与空白图片交换位置2、碎片仍在当前位置,不能移动6.5.2用户界面测试用例用例编号002模块名称菜单页面、模式选择页面、关卡选择页面、游戏页面、胜利\失败页面。版本号v0.1测试结果通过前置条件用户页面已完成测试项操作步骤预期结果实际结果菜单页面、模式选择页面、关卡选择页面、游戏页面、胜利\失败页面。1、界面是否美观、简洁,系统是否易于操作2、按钮是否有按钮效果,按钮位置是否美观1、页面显示美观、简洁,系统易于操作2、按钮有按钮效果,按钮位置美观1、页面显示美观、简洁,系统易于操作2、按钮有按钮效果,按钮位置美观6.5.3兼容性测试用例用例编号003模块名称与操作系统兼容性版本号v0.1测试结果通过前置条件软件已完成,运行流程流畅测试项操作步骤预期结果实际结果与操作系统兼容性将软件安装到Android、Windows系统中2、在不同平台使用该软件能在Android、Windows系统中运行界面内容没有缺失,无卡顿死机闪退等情况出现能够根据点击作出对应操作1、能在Android、Windows系统中运行2、界面内容没有缺失,无卡顿死机闪退等情况出现3、能够根据点击作出对应操作
第七章游戏发布通过测试确认游戏没有致命错误存在,游戏运行流程通畅,并且游戏的功能点已符合需求与设计,可以进入最后一个环节——发布游戏。经过前面介绍,已经了解了游戏运行的Android平台,配置好环境后,直接将游戏build出来,选择apk格式。将build出来的apk安装在Android系统中,运行并检查,确认无误后发布成功。结论目前游戏市场缺口仍然比较大,游戏的升值空间也非常大,再加上智能设备普及,网络提供优质服务,以游戏为娱乐方式越来越成为主要手段。为了将选择游戏方向后学到的知识做到学以致用的目的,笔者选择了设计和实现一款基于unity3d的休闲游戏。此款名为《Funny》的休闲游戏,实现了图片3*3的网格化切割,并且将切割好的图片碎片进行随机排序,打乱碎片位置,点击靠近空白图片的拼图碎片使之互相交换位置,直到所有图片交换位置成功并重新排序,恢复到原来的样子。此款休闲游戏总的亮点是内容新颖、可基于Android平台运行和利于文化的传承,内容新颖是笔者设计拼图时打破了单一的拼图,增加通过猜谜语等方式来猜出拼图的内容后再进行重组;可基于Android平台运行指此案游戏可以安装在Android智能移动手机上,即可以随身携带,随时随地玩这款游戏,摆脱PC端的不能随时随地运行的弊端;利于文化传承指本游戏中传统模式的拼图内容就是根据我国传统文化编制,因为笔者所处国家文化底蕴丰厚,但是发觉近年来传统文化在社会上的声音越来越低,一些优秀的传统文化未能传播到新生代,因此想利用轻松的方式来使得这些优秀文化得以被大众了解、普及和传承。在设计与实现这款游戏中遇到非常多的问题是个人无法解决的,导致这种情况的因素也非常多,如对脚本编写所使用的语言并没有一个系统的学习过程,对游戏的制作过程只有简单的了解,有部分功能或者unity3d中的组件不熟悉,制作的过程经常需要借助一些搜索工具查阅相关资料或者翻看一些课堂上的视频来实现。经过多方面的收集资料和收集相关素材,花费精力研究、设计并实现,最终完成了这一款游戏,但此款游戏仍有不足的地方:玩法单一,本想实现多种玩法,如打散碎片后拖动碎片到拼图中原始位置,发现能力不足,不得不放弃这一玩法。功能简单,本游戏的功能不够丰富,只有计时功能、页面跳转、弹窗,没有自定义功能,即选择本地图片作为拼图原形。场景简单不够精美,本游戏的界面做得相对简单,无法跟主流游戏媲美,这也会影响用户的选择。最后,游戏的设计与实现的完成,意味着研究课题《基于unity3d的休闲游戏funny的设计与实现》到此已圆满结束,但是游戏中的不足仍然需要完善,凭借着对游戏开发的热情,相信随着时间推移和技术提高,会将这些不足与其他想法在这款游戏中实现,不断尝试与完善,是的这款游戏能够在不久的未来被大众接受,给选择这款游戏的玩家带来知识与乐趣。
参考文献吴亚峰,索依娜.Uinty5.X3D游戏开发技术详解与典型案例[M].北京:人民邮电出版社,2016.搜狐.大学生手机市场报告[J].2017.UnityTechnologies.Unity官方案例精讲[M].北京:中国铁道出版社,2015.金玺曾.Uinty3D\2D手机游戏开发(第二版)[M].北京:清华大学出版社,2014.大野功二.游戏设计的236个技巧关卡设计(图灵程序设计丛书)[M].支鹏浩,译.北京:人民邮电出版社,2015.章英,叶颖泽,在“拼图”游戏中学习C语言[J].湖北教育学院院报,2007.谭浩强.C程序设计(第3版)[M].清华大学出版社,2005.杜晨互联网上的拼图游戏[J]IT经理世界,2005,(11).余志龙等.AndroidSDK开发范例大全[M].北京:人民邮电出版社,2009.陈俊峰.基于Unity3D的跨平台手机网络游戏的研究与实现[D].广州:中山大学,2013.
致谢本论文在麦日升老师全面、具体指导下完成进行的,麦日升老师学识渊博、思维敏锐、逻辑严谨,指导我逐步实现此论文与毕业设计,麦日升老师的作风令我受益匪浅,此次论文完成经历将使我终生难忘,在日后的学术研究中定会秉持老师的作风,严谨对待学术问题。做到细致细心,保持刨根问底的精神面对难题。在本次毕业设计中遇到很多个人技术文能解决的问题,老师根据自己的经验一一为我解答与指导,在此衷心感谢老师对我的付出与帮助。同时感谢学习路上相伴的同学与在背后默默支持我的家人,感谢他们的关心与帮助。
HYPERLINK电脑快捷知识大全编辑本段一、常见用法F1显示当前程序或者windows的帮助内容。F2当你选中一个文件的话,这意味着“重命名”F3当你在桌面上的时候是打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏windows键或CTRL+ESC打开开始菜单CTRL+ALT+DELETE在win9x中打开关闭程序对话框DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N新建一个新的文件CTRL+O打开“打开文件”对话框CTRL+P打开“打印”对话框CTRL+S保存当前操作的文件CTRL+X剪切被选择的项目到剪贴板CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤销的操作Windows键+L锁屏键Windows键+M最小化所有被打开的窗口。Windows键+SHIFT+M重新将恢复上一项操作前窗口的大小和位置Windows键+E打开资源管理器Windows键+F打开“查找:所有文件”对话框Windows键+R打开“运行”对话框Windows键+BREAK打开“系统属性”对话框Windows键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏ALT+F4关闭当前应用程序ALT+SPACEBAR打开程序最左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板CTRL+F4关闭当前应用程序中的当前文本(如word中)CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前一个窗口)在IE中:ALT+RIGHTARROW显示前一页(前进键)ALT+LEFTARROW显示后一页(后退键)CTRL+TAB在页面上的各框架中切换(加shift反向)F5刷新CTRL+F5强行刷新目的快捷键激活程序中的菜单栏F10执行菜单上相应的命令ALT+菜单上带下划线的字母关闭多文档界面程序中的当前窗口CTRL+F4关闭当前窗口或退出程序ALT+F4复制CTRL+C剪切CTRL+X删除DELETE显示所选对话框项目的帮助F1显示当前窗口的系统菜单ALT+空格键显示所选项目的快捷菜单SHIFT+F10显示“开始”菜单CTRL+ESC显示多文档界面程序的系统菜单ALT+连字号(-)粘贴CTRL+V切换到上次使用的窗口或者按住ALT然后重复按TAB,切换到另一个窗口ALT+TAB撤消CTRL+Z编辑本段二、使用“Windows资源管理器”的快捷键目的快捷键如果当前选择展开了,要折叠或者选择父文件夹左箭头折叠所选的文件夹NUMLOCK+负号(-)如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头展开当前选择下的所有文件夹NUMLOCK+*展开所选的文件夹NUMLOCK+加号(+)在左右窗格间切换F6编辑本段三、使用WINDOWS键可以使用Microsoft自然键盘或含有Windows徽标键的其他任何兼容键盘的以下快捷键。目的快捷键在任务栏上的按钮间循环WINDOWS+TAB显示“查找:所有文件”WINDOWS+F显示“查找:计算机”CTRL+WINDOWS+F显示“帮助”WINDOWS+F1显示“运行”命令WINDOWS+R显示“开始”菜单WINDOWS显示“系统属性”对话框WINDOWS+BREAK显示“Windows资源管理器”WINDOWS+E最小化或还原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M编辑本段四、“我的电脑”和“资源管理器”的快捷键目的快捷键关闭所选文件夹及其所有父文件夹按住SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)向后移动到上一个视图ALT+左箭头向前移动到上一个视图ALT+右箭头查看上一级文件夹BACKSPACE编辑本段五、使用对话框中的快捷键目的快捷键取消当前任务ESC如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键单击相应的命令ALT+带下划线的字母单击所选按钮ENTER在选项上向后移动SHIFT+TAB在选项卡上向后移动CTRL+SHIFT+TAB在选项上向前移动TAB在选项卡上向前移动CTRL+TAB如果在“另存为”或“打开”对话框中选择了某文件夹,要打开上一级文件夹BACKSPACE在“另存为”或“打开”对话框中打开“保存到”或“查阅”F4刷新“另存为”或“打开”对话框F5编辑本段六、桌面、我的电脑和“资源管理器”快捷键选择项目时,可以使用以下快捷键。目的快捷键插入光盘时不用“自动播放”功能按住SHIFT插入CD-ROM复制文件按住CTRL拖动文件创建快捷方式按住CTRL+SHIFT拖动文件立即删除某项目而不将其放入SHIFT+DELETE“回收站”显示“查找:所有文件”F3显示项目的快捷菜单APPLICATION键刷新窗口的内容F5重命名项目F2选择所有项目CTRL+A查看项目的属性ALT+ENTER或ALT+双击可将APPLICATION键用于Microsoft自然键盘或含有APPLICATION键的其他兼容键编辑本段七、Microsoft放大程序的快捷键这里运用Windows徽标键和其他键的组合。快捷键目的Windows徽标+PRINTSCREEN将屏幕复制到剪贴板(包括鼠标光标)Windows徽标+SCROLLLOCK将屏幕复制到剪贴板(不包括鼠标光标)Windows徽标+PAGEUP切换反色。Windows徽标+PAGEDOWN切换跟随鼠标光标Windows徽标+向上箭头增加放大率Windows徽标+向下箭头减小放大率编辑本段八、使用辅助选项快捷键目的快捷键切换筛选键开关右SHIFT八秒切换高对比度开关左ALT+左SHIFT+PRINTSCREEN切换鼠标键开关左ALT+左SHIFT+NUMLOCK切换粘滞键开关SHIFT键五次切换切换键开关NUMLOCK五秒QQ快捷键,玩QQ更方便Alt+S快速回复Alt+C关闭当前窗口Alt+H打开聊天记录Alt+T更改消息模式Ait+J打开聊天纪录Ctrl+A全选当前对话框里的内容Ctrl+FQQ里直接显示字体设置工具条Ctrl+J输入框里回车(跟回车一个效果)Ctrl+M输入框里回车(跟回车一个效果)Ctrl+L对输入框里当前行的文字左对齐Ctrl+R对输入框里当前行的文字右对齐Ctrl+E对输入框里当前行的文字居中Ctrl+V在qq对话框里实行粘贴Ctrl+Z清空/恢复输入框里的文字Ctrl+回车快速回复这个可能是聊QQ时最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷键F5刷新DELETE删除TAB改变焦点CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+A全选CTRL+Z撤销CTRL+S保存ALT+F4关闭CTRL+Y恢复ALT+TAB切换CTRL+F5强制刷新CTRL+W关闭CTRL+F查找SHIFT+DELETE永久删除CTRL+ALT+DEL任务管理SHIFT+TAB-反向切换CTRL+空格--中英文输入切换CTRL+Shift输入法切换CTRL+ESC--开始菜单CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截图工具CTRL+ENTERQQ发消息Alt+1保存当前表单Alt+2保存为通用表单Alt+A展开收藏夹列表资源管理器END显示当前窗口的底端HOME显示当前窗口的顶端NUMLOCK+数字键盘的减号(-)折叠所选的文件夹NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹自然键盘【窗口】显示或隐藏“开始”菜单【窗口】+F1帮助【窗口】+D显示桌面【窗口】+R打开“运行”【窗口】+E打开“我的电脑”【窗口】+F搜索文件或文件夹【窗口】+U打开“工具管理器”【窗口】+BREAK显示“系统属性”【窗口】+TAB在打开的项目之间切换辅助功能按右边的SHIFT键八秒钟切换筛选键的开和关按SHIFT五次切换粘滞键的开和关按NUMLOCK五秒钟切换切换键的开和关左边的ALT+左边的SHIFT+NUMLOCK切换鼠标键的开和关左边的ALT+左边的SHIFT+PRINTSCREEN切换高对比度的开和关运行按“开始”-“运行”,或按WIN键+R,在『运行』窗口中输入:(按英文字符顺序排列)%temp%打开临时文件夹.C:\DocumentsandSettings\用户名所在文件夹..C:\Documentsand
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 春游安全主题班会课件
- 课件发到微信群
- 民法考试题库及答案
- 漫画题目及答案
- 春季工地安全培训内容课件
- 课件创作营小程序
- 2026年水井坊招聘考试复习资料含答案
- 适应性培训课件内容
- 2026年庆阳职业技术学院高职单招职业适应性考试备考题库有答案解析
- 2026年通化医药健康职业学院高职单招职业适应性测试备考试题有答案解析
- 2025年新版动物生理基础题库及答案
- 2026年临商银行股份有限公司校园招聘(32人)(公共基础知识)测试题附答案
- 辽宁省大连市滨城高中联盟2026届高三上学期12月期中Ⅱ考试 化学
- 浙江省杭州地区(含周边)重点中学2024-2025学年高二上学期11月期中物理物理答案
- 江苏省2025年普通高中学业水平合格性考试化学试卷(含答案)
- 2025版小学语文新课程标准
- 2025年个人个人工作总结工作总结模版(2篇)
- 建设用地报批服务投标方案(技术方案)
- 催化剂行业营销策略方案
- 2022年华润电力春季校园招聘上岸笔试历年难、易错点考题附带参考答案与详解
- (完整版)数字信号处理教案(东南大学)
评论
0/150
提交评论