3-13 Player Damage & Death Sound
本章要教大家播放受傷跟死亡的音效。首先請大家下載角色的音效,花了很多時間才找到滿意的免費音效: http://www.affordableaudio4everyone.com/Affordable%20SFX%204%20Everyone/Samples/ActionRPG_Characters/ActionRPG_Char_Samples.zip 另外這是該音效的官網,介紹是說有4290個音效,只要約600元的樣子,大家有興趣可以參考看看: http://www.affordableaudio4everyone.com/Affordable%20SFX%204%20Everyone/ActionRPG_Characters.html 但我還沒買,在目前的階段中,我們使用免費音效來測試程式是否能正常運作即可。往後要優化遊戲體驗時,再找更好的資源檔進行更換。 首先,先開啟File/Build Settings選項。 按下「Add Open Scenes」將目前的開啟的Scene加入,因為我們要製作當玩家死亡後會重新讀取關卡的功能,必須先將Scene登記在Build Settings中。 然後,在Player中加入Audio Source,這是用來播放音效的組件。 將Play On Awake選項關掉。 接著,請將剛剛下載的音效檔匯入,或者匯入自己預先準備的音效檔。 主要修改Player.cs及Enemy.cs。於Player.cs的TakeDamage方法中新增條件式判斷血量,血量不足時呼叫KillPlayer方法,這邊使用StartCoroutine的呼叫方式,是為了讓程式等待死亡音效播放完畢後,再重新載入場景。播放音效的部分,則用Random隨機函數挑選其中一個音效檔。 Enemy.cs的Update中,則增加了判斷玩家是否已死的條件式,當玩家死了以後就不要再攻擊玩家了。不然會發生Player喊著死亡音效的時候,Enemy還在拚命鞭屍的窘境。(ˊˋ) 最後,將音效拉入Damage Sounds跟Death Sounds即可。 以下提供本章修改的完整程式碼。 Player.cs: using System.Collections; using System.Collection