Unity3D--学习太空射击游戏制作(四)
步骤七:添加声音和特效(射击声音和爆炸效果)
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和游戏失败的状态提示,我们创建一个游戏管理器来处理这些东西。
Unity3D--学习太空射击游戏制作(四)的更多相关文章
- Unity3D--学习太空射击游戏制作(一)
近期买了本书在学习一些Unity3D的东西,在了解了Unity3D工具的基本面板后开始学习一个太空射击游戏的开发过程. 首先下载一个关于本游戏的资源文件,(百度云下载地址:http://pan.bai ...
- Unity3D--学习太空射击游戏制作(二)
步骤三:创建主角 游戏的主角是一艘太空飞船,我们将使用一个飞船模型作为游戏的主角,并赋予他一个脚本,控制他的运动,游戏体的组件必须依赖于脚本才能运行. 01:在Project窗口找到Player.fb ...
- Unity3D--学习太空射击游戏制作(三)
步骤四:创建敌人 创建敌人的方式与创建主角类似,不过敌人的行为需要由计算机来控制,它将从上方迎着主角缓慢飞出来,并左右来回移动: 01:创建Enemy.cs脚本,添加代码: using UnityEn ...
- Unity3D学习笔记(三十四):Shader着色器(1)
一.GPU:图形处理器,Graphics Processing Unit 显卡的处理器就是图形处理器.与CPU类似. GPU和CPU的区别? 1.CPU主要是为了串行指令设计,GPU则是为了大规模 ...
- Unity3D学习笔记(二十四):MVC框架
MVC:全名是Model-View-Controller View(视图层 - 顶层) Controller(控制层 - 中层) Model(数据层 - 底层) View(视图层) 说明:展现给玩家的 ...
- 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘
上周的宇宙大战射击游戏中,我们只完成了宇宙飞船发射子弹的部分.还未制作敌对方.这周制作了敌方-飞龙,飞龙随机在屏幕上方出现,如果被子弹打中,则得分,飞龙和子弹都消失. 敌方:飞龙:计分. 目的 目的: ...
- 如何使用纯 CSS 制作四子连珠游戏
序言:你是否想过单纯使用 CSS 也可以制作一款游戏?甚至可以双人对决!这是一篇非常有趣的文章,作者详细讲解了使用纯 CSS 制作四子连珠游戏的思路以及使用奇淫巧技解决困难问题的方法.因为案例本身比较 ...
- 用canvas制作酷炫射击游戏--part1
好久没写博客了,因为过年后一直在学游戏制作方面的知识.学得差不多后又花了3个月时间做了个作品出来,现在正拿着这个作品找工作. 作品地址:https://betasu.github.io/Crimonl ...
- cocos2d-x学习日志(10) --射击游戏(喵星战争)
转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/10553487 一.纵版射击游戏的特点 纵版射击游戏是一种 ...
随机推荐
- iOS蓝牙中的进制转换
Bluetooth4.0.jpg 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制,为了节省空间,蓝牙也会把16 ...
- 文件I/O之ioctl函数
ioctl函数是I/O操作的杂物箱.不能用其他函数表示的I/O操作通常都能用ioctl表示.终端I/O是ioctl的最大使用方面. ioctl函数通过对文件描述符发送特定的命令来控制文件描述符所代表的 ...
- BugZilla的安装过程简明教程
Bugzilla+Mysql+iis+perl模块+ ActivePerl 安装过程 (原:http://www.cnblogs.com/Warmsunshine/archive/2012/03/25 ...
- 【大坑】DataGridView多线程更新修改Cell单元格卡死
最新发现是Column的AutoSizeMode设置为AllCell调整宽度而造成的卡顿,还有就是在现在里面使用Invoke用匿名函数闭包的形式访问For循环的i变量值会不正确导致找不到索引而造成卡顿 ...
- iOS之开发程序之间的跳转及跳转到appStore
实例一:A程序跳转到B程序 第一步: 在B程序plist文件中,注册对外接口如图在B程序中找到info.plist点击,找到Information Property List ,右击 添加列表项 找到 ...
- [转]Best way to sort a DropDownList in MVC3 / Razor using helper method
本文转自:http://stackoverflow.com/questions/7223185/best-way-to-sort-a-dropdownlist-in-mvc3-razor-using- ...
- Linux忘记mysql的root密码的解决办法
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...
- Win8.1中打不开IE的解决方法
IE11 打不开了,重新安装了IE也解决不了问题,咋整,找了好久终于找到原因,原来是权限的问题,特此和大家共享 解决办法: WIN+R,regedit,找到HKEY_CURRENT_USER\Soft ...
- FCKEditor的用法与下载
以下是我初次使用FCKEditor的方法,都是来自网上,但网上都不完整,现在我整理下: 1:下载FCKEditor 下载下来后解压到你网站的目录,最好就放在根目录下,文件夹名字就用FCKEditor: ...
- SQL访问EXCEL错误集合
--行集函数 --1, OPENDATASOURCE 环境:WIN7,SQL 2014,OFFICE 2013 SELECT * FROM OPENDATASOURCE('Microsoft.ACE. ...