Unity课程设计报告书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
移动终端游戏开发课程设计说明书
题目: Flappy Bird游戏设计
院系:
专业班级:
学号:
学生:
指导教师:
2016年 6 月 30 日
理工大学课程设计(论文)任务书
学院
2016年 4月 1 日
理工大学课程设计(论文)成绩评定表
目录
1 需求分析 (1)
2 概要设计 (1)
2.1 设计思路 (1)
2.2 存储结构设计 (2)
2.3 功能模块设计 (3)
3 详细设计 (3)
3.1 游戏工程视图 (3)
3.2 游戏界面布局 (5)
3.3 功能模块设计实现 (6)
3.3.1游戏开始设计 (6)
3.3.2小鸟移动模块设计 (7)
3.3.3管道碰撞模块设计 (8)
3.3.4场景延续模块设计 (8)
3.3.5分数统计模块设计 (8)
3.3.6游戏结束模块设计 (9)
3.4 其他设计实现 (10)
3.4.1 摄像机的跟随 (10)
3.4.2 游戏音效的添加 (11)
3.4.3 游戏开始界面的设计 (11)
4 运行与测试 (12)
5 总结 (15)
参考文献 (15)
1 需求分析
1.技术需求:
此游戏是在Unity5.3.3上开发出来的,Unity5.3.3可以支持2D、3D场景的编辑,本游戏是基于3D场景开发的。游戏中的脚本语言使用的是C#,Unity5.3.3中的Monodevelop为脚本编辑提供了平台。
2.功能需求:
Flappy Bird是一款益智类的小游戏,其玩法为:游戏开始后,玩家需间歇性的点击鼠标,让小鸟向上飞,不会掉下来,并且要穿过随机出现的管道的间隙,不能碰到管道,碰到就游戏结束,穿过一个管道就可以得到一分。其制作包括对以下六大功能的需求:
(1)当开始游戏后,玩家需要单击指定位置才能开始游戏,否则无法开始;(2)需要通过点击屏幕来控制小鸟的位置,完成使小鸟上下移动的功能;(3)需要对小鸟是否碰到地面或者管道进行判断,从而决定游戏是否结束;(4)需要设置触发器以实现场景的延续,当小鸟碰到触发器,场景中的第一幅背景便挪到最后一幅的后面,从而实现视觉上场景不断出现的效果;
(5)需要对玩家进行记分,并对最高分进行判断和存储;
(6)在失败后,需要使玩家通过点击按钮重新开始游戏。
2 概要设计
2.1 设计思路
Flappy Bird 是一款形式简易但难度极高的休闲游戏,我们打算使用unity开发工具来制作这款游戏。经过分析,我们首先要完成的是对素材的收集,我们可以从网上搜索下载,也可以自己使用PS等工具来画。其次,我们需要对整个游戏进行模块划分,理清整个游戏是由哪几个模块组成的,经过讨论分析,我们得出这个游戏共需要六大模块。分析完之后,便进入了正式的游戏制作环节,我们需要对各个模块进行详细设计,其中包括页面布局、碰撞检测、小鸟飞行动画等。完成各个模块的详细设计后,我们便可以在unity中对它们进行组装和拼接,并运行测试,修改错误和不适当的地方。自此,整个游戏就设计完成了。
1.Pipe类:管道设计
Float pos_y //管道的Y轴值,目的是为了使管道能随机出现
2.Bird类:小鸟设计
public float timer;//计时器,为了控制显示小鸟飞行动画public int frameNumber;// 一秒的帧数
public int frameCount;// 帧计数器
3. FollowBird类:摄像机设计
private GameObject bird;
private Transform birdTransform;//bird的位置
4. GameManager类:游戏状态设计
public static int GAMESTATE_MENU;//游戏菜单状态
public static int GAMESTATE_PLAYING;//游戏中状态
public static int GAMESTATE_END; //游戏结束状态
public Transform firstBg;//用来记录应该将第一幅场景挪到哪幅场景的后面,以实现场景延续
public int score = 0;//记录分数
5. MoveTrrigger类:触发器设计
Transform currentBg;//用于当前场景的位置
Pipe pipe1;//用于新出现的场景中管道1的位置
Pipe pipe2;//用于新出现的场景中管道2的位置
6. GameMenu类:游戏结束菜单设计
public GUIText nowScore;//当前分数
public GUIText highScore;//历史最高分
public GUITexture startTexture;//开始按钮图片
public GUITexture overTexture; //“Game Over”图片
7. GameReady类:游戏开始菜单设计
public GUITexture readyTexture;//“GetReady”图片
public GUITexture TopTexture;//“Tap Tap”图片
public static GameReady _intance2;
Flappy Bird游戏具有六大功能模块,分别为:
(1)游戏开始模块:包括游戏开始菜单的设计;
(2)小鸟移动模块:包括对小鸟飞行进行控制的设计;
(3)管道碰撞模块:包括管道碰撞和穿过管道即可得分的设计;
(4)场景延续模块:包括场景触发器的设计;
(5)分数统计模块:包括对玩家分数的统计、显示和在游戏结束时,对玩家的分数进行判断的设计;
(6)游戏结束模块:包括游戏结束菜单的设计;
其功能模块图如图2-1所示:
图2-1 功能模块图
3 详细设计
3.1 游戏工程视图
在新建项目后,我们需要在“Assets”文件夹下导入素材“Audios”:游戏音乐素材文件夹,包括游戏开始音乐、小鸟煽动翅膀的音乐、得分的音乐、撞到管道和地面的音乐、小鸟死亡的音乐;“Textures”:图片素材文件夹,包括:游戏背景、管道、小鸟、游戏菜单等。“Audios”文件夹如图3-1所示: