步驟七:添加聲音和特效(射擊聲音和爆炸效果)
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和游戲失敗的狀態提示,我們創建一個游戲管理器來處理這些東西。
