GMS2官方教程系列6/8——添加音效

【中文教程】GameMaker Studio 2官方教程6/8--添加音效 http://www.bilibili.com/video/av10937283/

聲音,對於一個遊戲而言,其重要程度毋庸置疑,好的音樂和音效可以更好的渲染遊戲氣氛,讓玩家產生更強的代入感,從而增強遊戲體驗,因此今天我們介紹如何給遊戲添加音效。首先,我們要創建一個聲音文件,從右側資源樹中找到「Sounds」然後新建一個,設定好名稱之後就可以點名稱右側的按鈕打開管理窗口來選擇你準備好的聲音文件了,添加好的聲音文件可以點擊播放按鈕預覽聲音效果,如下圖所示:

我們這次添加的是一個敵人爆炸的音效,當敵人被飛船子彈擊毀時播放這個音效來反饋敵人的死亡,所以我們要在敵人對象中添加播放音效的方法,如下圖所示:

我們在敵人的Step事件中找到了之前通過HP判斷敵人是否被摧毀的代碼,因為我們這次是敵人爆炸的音效,因此也是在敵人被摧毀時觸發,所以可以直接合併到這個方法中,我們增加了這樣一行代碼:

audio_play_sound(snd_death,0,0)

這個方法也是GMS2自帶的播放聲音的方法,這個方法有三個參數,分別是:

  • 聲音資源的ID/名稱
  • 播放優先順序
  • 循環方式

其中名稱就填入我們剛剛創建的那個聲音的名稱即可,播放優先順序是指當你同時有很多聲音需要播放時指定的播放順序,不過目前我們只播放一個音效,所以此處為0,最後一個循環方式則是有些遊戲中需要循環播放一些特殊的音效,而我們這裡敵人爆炸只需要發出一次聲音即可,因此這裡也填0。當以上完成後我們就可以運行測試我們的遊戲了,如果一切正常應該就能正常發出爆炸聲了,但是所有的聲音都完全是一個聲調。我們最開始在製作發射子彈效果時,曾經給子彈的發射角度設定過一個隨機的角度變化,這樣能更好的模擬發射的感覺,所以我們也希望敵人死亡時的音效能有這樣一個小幅度的隨機變化,這樣顯得更加真實,我們回到敵人的Step事件中稍加修改:

如上圖,我們增加了這樣一行代碼:

audio_sound_pitch(snd_death,random_range(0.8,1.2))

這個方法也是GMS2自帶的調整音量的方法,這個方法有兩個參數,第一個參數也是聲音資源的ID或名稱,而第二個參數就是音量的值,這個值默認是1,就是100%,因為我們希望這個音量隨機變化,所以也用了「random_range」這個方法來確保每次都隨機獲取一個值,這個隨機的範圍我們定義為0.8到1.2,就是在默認音量的基礎上進行上下20%的浮動。這樣我們再測試遊戲的時候就會發現聲音已經會忽大忽小地隨機變化了。

為了測試時能更清楚地觀察到聲音變化,可以在場景中多放一些敵人的對象,這樣能確保聲音的隨機變化盡量多一些更明顯一些。

PS. 在官方教程的基礎上還可以自己給自己設定個目標來拓展一下,比如讓離飛船遠的敵人在爆炸時聲音小一點,近的敵人在爆炸時聲音大一點,試試看自己能不能完成:)常用的判斷距離的函數GMS2中有distance_to_point和distance_to_object兩種,可以自己思考看看哦~

推薦閱讀:

KBEngine遊戲伺服器(一)——引擎環境配置
Dice (EA) 工作室遊戲開發技術概覽
如何製作並發行你夢想的遊戲,避免在過程中狗帶!
星游視野:如果你接手了一款糟糕的遊戲……

TAG:GameMakerStudio | 遊戲開發 |