您好,欢迎访问三七文档
移动终端游戏开发课程设计说明书题目:FlappyBird游戏设计院系:专业班级:学号:学生姓名:指导教师:2016年6月30日安徽理工大学课程设计(论文)任务书学院学号学生姓名专业(班级)设计题目FlappyBird游戏设计设计技术参数系统平台:Windows7开发工具:Unity、MonoDevelop开发语言:C#设计要求1.能够统计分数,并记录以往最高分2.管道出现具有随机性3.界面合理、友好工作量课程设计报告4945字源程序314行工作计划2016.04.15-04.22根据课程设计的要求,查找相关资料,完成需求分析;2016.04.23-05.07进行系统的概要设计;2016.05.08-06.12进行系统的详细设计和源代码的书写;2016.06.13-06.30对系统进行调试分析,撰写课程设计报告。参考资料[1]严蔚敏,吴伟民.数据结构.北京:清华大学出版社,2011[2]立波.C#入门经典.北京:清华大学出版社,2006[3]金玺曾.Unity3D手机游戏开发.北京:清华大学出版社,2013[4]日安徽理工大学课程设计(论文)成绩评定表学生姓名:学号:专业班级:课程设计题目:FlappyBird游戏设计评价单元评价要素评价内涵优良中差知识水平30%文献查阅与知识运用能力(20分)能独立查阅文献资料,并能合理地运用到程序设计训练之中;能将所学课程(专业)知识准确地运用到程序设计之中,并归纳总结本程序设计训练所涉及的有关课程知识程序设计方案(10分)程序设计整体思路清晰,程序设计方案合理可行设计表现50%工作量(10分)课程设计工作量饱满设计态度(10分)设计态度认真,遵守程序设计阶段的纪律,作风严谨,能按时完成设计任务书中规定的任务,按时上交课程设计有关资料实际动手能力(20分)实际动力能力强,能独立完成相关设计任务创新能力(10分)有一定的创新能力说明书质量20%写作水平(10分)整体思路清晰,结构合理,层次分明,语言表达流畅,综合概括能力强写作规范(10分)符合课程设计说明书的基本要求,用语、格式、图表、数据及各种资料引用规范(符合标准)成绩:指导教师:年月日I目录1需求分析...............................................12概要设计...............................................12.1设计思路..........................................12.2存储结构设计......................................22.3功能模块设计......................................33详细设计...............................................33.1游戏工程视图......................................33.2游戏界面布局......................................53.3功能模块设计实现..................................63.3.1游戏开始设计..................................63.3.2小鸟移动模块设计..............................73.3.3管道碰撞模块设计..............................83.3.4场景延续模块设计..............................83.3.5分数统计模块设计..............................83.3.6游戏结束模块设计..............................93.4其他设计实现.....................................103.4.1摄像机的跟随................................103.4.2游戏音效的添加..............................113.4.3游戏开始界面的设计..........................114运行与测试............................................125总结..................................................15参考文献................................................1511需求分析1.技术需求:此游戏是在Unity5.3.3上开发出来的,Unity5.3.3可以支持2D、3D场景的编辑,本游戏是基于3D场景开发的。游戏中的脚本语言使用的是C#,Unity5.3.3中的Monodevelop为脚本编辑提供了平台。2.功能需求:FlappyBird是一款益智类的小游戏,其玩法为:游戏开始后,玩家需间歇性的点击鼠标,让小鸟向上飞,不会掉下来,并且要穿过随机出现的管道的间隙,不能碰到管道,碰到就游戏结束,穿过一个管道就可以得到一分。其制作包括对以下六大功能的需求:(1)当开始游戏后,玩家需要单击指定位置才能开始游戏,否则无法开始;(2)需要通过点击屏幕来控制小鸟的位置,完成使小鸟上下移动的功能;(3)需要对小鸟是否碰到地面或者管道进行判断,从而决定游戏是否结束;(4)需要设置触发器以实现场景的延续,当小鸟碰到触发器,场景中的第一幅背景便挪到最后一幅的后面,从而实现视觉上场景不断出现的效果;(5)需要对玩家进行记分,并对最高分进行判断和存储;(6)在失败后,需要使玩家通过点击按钮重新开始游戏。2概要设计2.1设计思路FlappyBird是一款形式简易但难度极高的休闲游戏,我们打算使用unity开发工具来制作这款游戏。经过分析,我们首先要完成的是对素材的收集,我们可以从网上搜索下载,也可以自己使用PS等工具来画。其次,我们需要对整个游戏进行模块划分,理清整个游戏是由哪几个模块组成的,经过讨论分析,我们得出这个游戏共需要六大模块。分析完之后,便进入了正式的游戏制作环节,我们需要对各个模块进行详细设计,其中包括页面布局、碰撞检测、小鸟飞行动画等。完成各个模块的详细设计后,我们便可以在unity中对它们进行组装和拼接,并运行测试,修改错误和不适当的地方。自此,整个游戏就设计完成了。22.2存储结构设计1.Pipe类:管道设计Floatpos_y//管道的Y轴值,目的是为了使管道能随机出现2.Bird类:小鸟设计publicfloattimer;//计时器,为了控制显示小鸟飞行动画publicintframeNumber;//一秒的帧数publicintframeCount;//帧计数器3.FollowBird类:摄像机设计privateGameObjectbird;privateTransformbirdTransform;//bird的位置4.GameManager类:游戏状态设计publicstaticintGAMESTATE_MENU;//游戏菜单状态publicstaticintGAMESTATE_PLAYING;//游戏中状态publicstaticintGAMESTATE_END;//游戏结束状态publicTransformfirstBg;//用来记录应该将第一幅场景挪到哪幅场景的后面,以实现场景延续publicintscore=0;//记录分数5.MoveTrrigger类:触发器设计TransformcurrentBg;//用于当前场景的位置Pipepipe1;//用于新出现的场景中管道1的位置Pipepipe2;//用于新出现的场景中管道2的位置6.GameMenu类:游戏结束菜单设计publicGUITextnowScore;//当前分数publicGUITexthighScore;//历史最高分publicGUITexturestartTexture;//开始按钮图片publicGUITextureoverTexture;//“GameOver”图片7.GameReady类:游戏开始菜单设计publicGUITexturereadyTexture;//“GetReady”图片publicGUITextureTopTexture;//“TapTap”图片publicstaticGameReady_intance2;32.3功能模块设计FlappyBird游戏具有六大功能模块,分别为:(1)游戏开始模块:包括游戏开始菜单的设计;(2)小鸟移动模块:包括对小鸟飞行进行控制的设计;(3)管道碰撞模块:包括管道碰撞和穿过管道即可得分的设计;(4)场景延续模块:包括场景触发器的设计;(5)分数统计模块:包括对玩家分数的统计、显示和在游戏结束时,对玩家的分数进行判断的设计;(6)游戏结束模块:包括游戏结束菜单的设计;其功能模块图如图2-1所示:图2-1功能模块图3详细设计3.1游戏工程视图在新建项目后,我们需要在“Assets”文件夹下导入素材“Audios”:游戏音乐素材文件夹,包括游戏开始音乐、小鸟煽动翅膀的音乐、得分的音乐、撞到管道和地面的音乐、小鸟死亡的音乐;“Textures”:图片素材文件夹,包括:游戏背景、管道、小鸟、游戏菜单等。“Audios”文件夹如图3-1所示:FlappyBird小鸟移动模块管道碰撞模块场景延续模块分数统计模块游戏结束模块游戏开始模块4图3-1“Audios”文件夹“Textures”文件夹如图3-2所示:图3-2“Textures”文件夹然后我们需要新建“Materials”:材质文件夹;“Prefabs”:预制文件夹;“Scenes”:游戏场景文件夹;“Scripts”:脚本文件夹。总体工程视图如图3-3所示:5图3-3总体工程视图3.2游戏界面布局1.开始界面游戏开始界面如图3-4所示,左上角的“Score”为分数,中间的图画为开始按钮,单击“GetReady”即可开始游戏,右边的管道为小鸟行进途中的障碍,当小鸟碰到障碍,游戏便结束,但当小鸟通过一个障碍即可得一分。图3-4开始界面62.结束界面游戏结束界面如图3-5所示,中间的为菜单栏,显示当轮游戏分数和历史最高分,并根据分数来显示所得奖牌的种类,分为金牌、银牌、铜牌,我们可以单击“重新开始”按钮来重新开始游戏。图3-5结束界面3.3功能模块设计实现3.3.1游戏开始设计游戏开始界面与游戏进行界面相似,但一开始没有管道,目的是为了给玩家一个反应的时间。当程序检测到玩家在游戏界面内点击了鼠标,那么就进入了游戏进行界面。程序如下:publicstaticintGAMESTATE_MENU=0;publicstaticintGAMESTATE_PLAYING=1;publicstaticintGAMESTATE_END=2;voidUpdate(){if(GameState==GameManager.GAMESTATE_MENU){if(Input.GetMouseButtonDown(0)){GameState=GAMESTATE_PLAYING;7bird.SendMessage(getLife);}}publicvoidgetLife(){GetComponentRigidbody().useGravity=true;this.GetComponentRigidbody().velocity=newVector3(3,0,0);}3.3.2小鸟移动模块设计进入游戏进行界面后,小鸟会显示飞行的动画,在Unity中进行相关参数的设置后,我们需要通过代码来控制小鸟飞行动画,程序如下:if(GameManager._intance.GameState==Gam
本文标题:Unity课程设计
链接地址:https://www.777doc.com/doc-5363721 .html