2.9 声音与特效

http://book.2cto.com/201410/47222.html

.unitypackage文件是Unity专用的资源包,在Project窗口选择资源,如脚本、模型、声音等任何资源,然后单击右键选择【Export Package】,可以将所选资源导出为.unitypackage格式的包,然后重用到其他Unity工程中。

选择主角飞船游戏体,在菜单栏选择【Component】→【Audio】→【Audio Source】为主角添加一个Audio Source组件,凡是需要发声的游戏体,必须有这个组件

打开Player.cs 脚本,添加并修改代码如下:
      // 声音
    public AudioClip m_shootClip;
 
    // 声音源
    protected AudioSource m_audio;
 
    // 爆炸特效
    public Transform m_explosionFX;
 
// Use this for initialization
void Start () {
 
        m_transform = this.transform;
 
        m_audio = this.audio;
}
m_shootClip属性是射击的声音,在后面会将它和音效文件关联。
 
m_audio属性是声音源组件,用于播放声音,在Start函数中将其指向实际的声音源组件。
在Player脚本的Update函数中添加播放声音的代码:
        if (  Input.GetKey( KeyCode.Space ) || Input.GetMouseButton(0)  )
        {
            Instantiate( m_rocket, m_transform.position, m_transform.rotation );
 
 // 播放射击声音
            m_audio.PlayOneShot(m_shootClip);
        }
 
在Player脚本的OnTriggerEnter函数中添加创建爆炸特效的代码:
 if (m_life <= 0) 
        {
            // 爆炸特效
            Instantiate(m_explosionFX, m_transform.position, Quaternion.identity);
 
            Destroy(this.gameObject);
        }
 
选择主角游戏体,在Project窗口的FX文件夹下分别找到shoot.WAV音效文件和Explosion.prefab爆炸特效文件,在Player组件中将其分别与m_shootClip和m_explosionFX属性关联,如图2-33所示。
2.9 声音与特效_第1张图片
选择爆炸特效的Prefab,为其添加一个Audio Source组件,然后在FX文件夹下找到explosion.WAV文件,将其指定到Audio Source的Audio Clip中,因为默认Play On Awake选项是处于选中状态,所以当爆炸特效被实例化后,会自动播放爆炸的声音,如图2-34所示。








你可能感兴趣的:(2.9 声音与特效)