步骤七:添加声音和特效(射击声音和爆炸效果)

01:在Project窗口单机右键,选择Import Package->Custome Package,然后到资源文件目录packages浏览unity包文件,选择ShootingFX.unitypackage,将其打开,选择Import导入到当前工程中,.unitypackage类型的文件是unity的专用资源包,在Project窗口选择资源,如脚本、模型、声音等然后右键选择Export Package,可以将自己的东西到处为.unitypackage类型的包,可以多次在不同的项目中使用。

02:选择主角的飞船游戏体,在菜单栏选择Component->Audio->Audio Source为主角添加一个Audio Source组件,凡是需要发生的游戏体,必须有这个组件。然后在Player.cs脚本中添加如下代码:

//射击的声音 后面将和音效文件关联public AudioClip m_shootClip;//声音源组件 用于播放声音 protected AudioSource m_audio;//爆炸特效public Transform m_explosionFX;void Start(){m_transform = this.transform;m_audio = this.audio; //将声音源组件指向实际的声音源组件}
void Update()
{......if (Input.GetKey(KeyCode.Space) || Input.GetMouseButton(0)){//Instantiate函数动态的创建子弹游戏体 发射子弹Instantiate(m_rocket, m_transform.position, m_transform.rotation);//播放声音m_audio.PlayOneShot(m_shootClip);}
}
void OnTriggerEnter(Collider other){if (other.tag.CompareTo("PlayerRocket") != 0)//如果主角与非己方子弹相撞{m_life -= 1;if (m_life <= 0){//爆炸特效Instantiate(m_explosionFX, m_transform.position, Quaternion.identity);Destroy(this.gameObject);}}}

  03:选择Player游戏体,在Project窗口的FX文件夹下分别找到shoot.WAV音效文件和Explosion.prefab爆炸特效文件,在Player组件中分别与m_ShootClip和m_ExplosionFX属性关联,如图:

选择爆炸特效的Prefab,为其添加一个Audio Source组件,然后在FX文件夹下找到explosion.WAV文件,将其指定到Audio Source组件,因为默认的Play On Awake选项是出于选中状态的,所以当爆炸特效被实例化后,会自动播放爆炸的声音。

然后为Enemy游戏体添加爆炸的特效。

步骤八:添加敌人生成器(生成无限敌人)

在当前的游戏中,只是随意放了几个敌人,消灭后就没有了,我们需要创建多个敌人,使游戏可以一直玩下去。

01:

步骤九:添加游戏管理器

现在的游戏中还缺少显示游戏信息的UI和游戏失败的状态提示,我们创建一个游戏管理器来处理这些东西。

转载于:https://www.cnblogs.com/yk123/p/4907981.html

Unity3D--学习太空射击游戏制作(四)相关推荐

  1. unity3d学习(三)制作敌人简单AI和发射火球

    制作敌人简单AI和发射火球 写在前面: - 学习课本:Unity5实战 使用c#和unity开发多平台游戏-作者:Joseph Hocking - 内容:第三章 -unity3d学习(一)制作第一人称 ...

  2. unity3D第一人称射击游戏(推荐)

    unity3d第一人称射击游戏(推荐) 第一部分:简介   这个教程中,我们详细了解下如何制作一个简单的第一人称射击游戏(FPS).其中将介绍一些基本的3D游戏编程的概念和一些关于怎样如游戏程序员般思 ...

  3. 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试

    基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...

  4. iOS游戏开发之使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏(教程含源码)

    实战需求 使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 1.主界面 import SpriteKit im ...

  5. mac太空射击游戏:Nova Drift (新星漂移)中文版

    Nova Drift是一款激动人心的太空射击游戏. Nova Drift Mac整合了现代独立游戏风格和游戏历史上最深的根源.它不仅具有时尚和性感的外观,而且具有平稳的控制功能.玩家控制着一艘不断开发 ...

  6. 发个2D太空射击游戏代码

    很久前写的一个 2D 太空射击游戏,使用的是 DirectX 库和 C++ 开发. 现在看来程序结构虽不算合理,但是里面基本包括了一个 2D 太空射击游戏的基本元素:卷屏,碰撞检测,不同类型的敌人和 ...

  7. Unity3D学习:射击小游戏——飞碟世界

    游戏规则:游戏有三个关卡,每个关卡有四次发射机会,每次发射的飞碟大小颜色速度方向位置都不同,有50分初始分,每打中一个加10分,掉落一个在地减10分,第一二关都是90分过关,第三关70分过关,第一关每 ...

  8. Unity3D案例太空射击(Space Shooter)流程介绍与代码分析(上)

    最近开始接触游戏制作,用Unity制作一些简单的游戏进行入门.这几篇博客总结了Space Shooter的制作流程,并对代码进行了分析.一是方便自己日后进行回顾与补充,二是为了让让更多的游戏爱好者接触 ...

  9. Unity3D案例太空射击(Space Shooter)流程介绍与代码分析(下)

    这部分内容关注的是游戏性的提升,包括音效.计分等功能的实现. 传送门: 太空射击(Space Shooter)流程介绍与代码分析(上) 太空射击(Space Shooter)流程介绍与代码分析(中) ...

  10. Unity3D——学习分享(一) 游戏开发

    自学游戏开发也有一段时间了,很早就想把自己所学到的知识做个笔记总结一下,但因为种种的原因一直没能坚持下来,所以现在我打算现在开始把我学到的内容总结下来,主要的目的是: 把自己的所学所感记录下来,方便自 ...

最新文章

  1. android启动流程之lk,Android系统之LK启动流程分析(一)
  2. 【转载】iOS堆和栈的理解
  3. 酒桌游戏c语言,最受欢迎的12种酒桌游戏
  4. Activity应用场景解析
  5. SpringMVC(四)——Ajax技术
  6. cenos下安装MySQL最新版(5.7.18)记录。附卸载老版本过程
  7. JRockit JRCMD教程
  8. 密码编码学之数字签名
  9. 音视频开发(8)---nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
  10. 百度2021年Q2净利润54亿元,智能云收入同比增71%
  11. 《机电传动控制》学习笔记-07
  12. jquer同时选择多个不同的id执行同意操作
  13. Linux下Oracle数据库的启动过程、关闭过程
  14. EasyDarwin开源流媒体云平台支持EasyCamera摄像机、EasyCamera手机直播监控、EasyNVR等多终端接入
  15. 美通社:2018年全球企业品牌影响力调查报告
  16. Hi3531添加16GByte(128Gbit) NAND Flash支持
  17. Windows之API集合
  18. 【经验分享】30个使用Python编程的实践、建议和技巧
  19. 【转】ubuntu下为APT设置代理
  20. MySQL字段类型及使用

热门文章

  1. 【Python】使用分隔符拆分字符串
  2. 机器学习(六)—— 分类
  3. 应用市场显示服务器错误的是,win10应用商店打不开服务器出错怎么办
  4. unrecognized selector sent to instance XXXXX
  5. 多渔:赚钱,就是专注和刻意练习!
  6. 局域网文件共享服务器速度如何提升,分享提高XP访问局域网共享文件速度的方法...
  7. 带你Dart带你Diao之重要概念
  8. 通过调用百度生成短连接API接口,将长链接转换成短链接,并且生成短网址并返回,用户可以通过短连接访问,然后浏览器会解析跳转至长链接地址,有效的解决用户修改url后面的参数
  9. 如何通过IP共享文件
  10. 音乐播放器代码和网页播放器代码