飞机大战文档.doc
《飞机大战文档.doc》由会员分享,可在线阅读,更多相关《飞机大战文档.doc(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、毕业实训报告课题名称: Unity 游戏开发 专 业: 移动开发 班 级: Rz 移动 152 学 号: 2 学生姓名: 张博 指导教师: 段菲菲 年 月 日中 原 工 学 院毕 业 实 训 任 务 书 2021年 1 月9日学生姓名张博学号2专 业软件开发班级Rz移动152课题名称Unity3D小游戏开发(星空大战)课题来源指导教师于浦专业软件工程职称讲师 课题说明:开发路线:1,游戏背景连续播放2,添加主角3,设置游戏主角的动画4,添加两种子弹并设置子弹的运动5,添加三种子弹设置子弹的自动生成与运动6,添加两种奖励物品设置奖励物品的自动生成与运动7,设置主角的控制7.2问题:防止主角飞出屏
2、幕8,设置Tag添加子弹与敌人的碰撞9,设计敌人 0 1 2 震动动画与爆炸效果10,添加脚本GameManager做游戏的控制11,统计分数摘 要摘 要 游戏,目前已经是最群众化的娱乐之一,而其中的3D游戏也是技术含量较高的工程之一。Unity3D是一个3D/2D游戏开发工具与游戏引擎套件,其中包括了图形、音频、物理、网络等多方面的引擎支持,并且有一个非常强大的编辑器来整合这一切,非常适合于游戏开发。本文主要是以Unity5.3.8为开发环境,设计并开发一款单机版的三维游戏直升机大战,旨在介绍直升机战斗游戏的实现方法,并逐步介绍使用Unity3D开发3D游戏的方法与技巧。通过这次游戏制作,使
3、我体会到了,制作一个游戏所需要做的工作,包括前期的游戏筹划,素材的制作,到后期的游戏的设计,代码实现等,最终形成一个完整的3D游戏,并通过Unity3D选择平台生成可执行文件。但本次设计的直升机战斗游戏所做工作还不够完善,开场场景中菜单比拟简单,游戏中武器只有一种,关卡也只有一个,这些都需要以后进一步设计. 第1章 工程分析1.1 Unity 及其组成的介绍本书主要讲解的是,如何使用 Unity 开发 2D 游戏。但在开场讲解之前,最好先熟悉一 下 Unity 这个工具。本章会首先介绍 Unity 的下载与安装,然后会介绍 Unity 界面的各组成 局部,这些知识会在本书后面的章节频繁使用,所
4、以不要掉以轻心。1.2 Unity 概述Unity 现如今已是非常的流行,因此在开场学习 2D 游戏开发之前,本节就来简要说明 下 Unity,及其下载与安装方法。 1.Unity 简介 Unity 是一款跨平台的专业游戏引擎, 可以使用它轻松的开发各种 2D 与 3D 游戏, 然后 部署到各种游戏平台上。 当然也包括这些主流游戏平台: Windows、 iOS、 Android、 Xbox 360、 PS3。 第2 章 2.1 需求分析玩家:控制游戏中的战机,向敌机发出攻击;敌机: 敌机不会发射子弹攻击玩家,boss敌机由程序控制自动向玩家飞机发出攻击子弹: 玩家与boss 敌机都拥有自己的
5、子弹,玩家的子弹可以用来攻击所有的敌机子弹礼包:玩家飞机得到子弹礼包后,玩家的飞时机在一段时间内有发射双排子弹功能炸弹礼包:玩家飞机得到子弹礼包后,玩家飞机如果使用炸弹可以去除屏幕上除boss外的所有敌机。 2.2 功能需求:1?用户进入游戏开场菜单可以选择开场游戏,退出游戏,游戏帮助;2?进入游戏后可暂停游戏3?玩家飞机以一定速度自下而上飞行,用户可以控制飞机前后左右移动4?玩家飞机一直发子弹,用户通过控制飞机位置来扫描敌机;5?不同种类的敌机以一定速度随机出现;6?玩家飞机的发射子弹击中敌机后消失。7?玩家飞机到达一定分数后,程序会随机提供子弹包与炸弹包;?8?玩家及礼包碰撞后即可得到礼包
6、;9?弹礼包后,玩家的飞时机在一段时间内有发射双排子弹功能10?进展游戏时,屏幕左上角会显示用户到达的分数;2.3 用户功能需求 由于本游戏交互性好,简单易操作,对用户并没有特殊的要求。一般用户经过几分钟后就可以掌握游戏规那么。2.4 游戏性能需求 1实时性: 本应用为手机游戏对于用户操作必须做出立即响应,否那么本游戏失败 2单机手机游戏最大的特点纪委已操作行,用户在不看说明的情况下也能够玩,并且在玩过几遍之后即熟悉本游戏规那么。这是本应用对于操作性的要求。2.5 游戏流程:进入游戏开场游戏游戏失败敌机玩家飞机岁游戏进展种类,数量增加查看分数岁游戏进展种类,数量增加得到礼包增加威力重新游戏、退
7、出游戏被击中自行退出退出游戏第3章 场景设计3.1.创立游戏场景 1.由于创立的是2d工程,那么将图片拖入Scene中,该图片自动成为一个精灵,所以将图片信息拖入摆放即可。 如图 3-1-1 所示2.下面创立一个GameManager文件,其绑定在摄像机中,主要负责飞机生命,玩家得分,背景播放等的显示功能。而生命,得分的显示需要我们创立GUIText来摆放。public enum GameStateRuning,Pausepublic class GameManager : MonoBehaviour public static GameManager _instance;public int
8、 score=0;private GUIText guiText;public GameState gameState = GameState.Runing;void Awake()_instance=this;guiText=GameObject.FindGameObjectWithTag(ScoreGUI).GetComponent();/ Update is called once per framevoid Update () guiText.text=Score:+score;public void transfromGameState()if(gameState=GameState
9、.Runing)pauseGame();else if(gameState=GameState.Pause)continueGame();3. 然后我们来实现背景的滚动。首先创立两个一样的背景图片上下摆放,如下列图所示,这里切换到3d模式,更加形象如图 3-1-34.下面创立用于绑定在背景上的脚本BackgroundTransform,代码如下public class BackgroundTransform : MonoBehaviour public static float moveSpeed = 2f;/ Update is called once per framevoid Updat
10、e () this.transform.Translate( Vector3.down * moveSpeed * Time.deltaTime );Vector3 postion = this.transform.position;if(postion.y4.3f)Destroy(this.gameObject);void OnTriggerEnter2D(Collider2D other) if(other.tag=Enemy)if(!other.GetComponent().isDeath)other.gameObject.SendMessage(BeHit);GameObject.De
11、stroy(this.gameObject);6.上面代码中我用了bulletTop,bulletLeft,bullfight,这是我为主机添加的两个子对象,主要是用于发射子弹,相当于炮筒吧,而bullet那么是定义的预设,其中绑定的脚本后面会说明。3-1-6代码实现如下:public class Gun : MonoBehaviour public float rate =0.2f;public GameObject bullet;public void fire()GameObject.Instantiate(bullet,transform.position,Quaternion.ide
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机 大战 文档
限制150内