用C語言開發NES遊戲(CC65)16、聲音效果

粘貼到CSDN格式沒調,想看格式好的點下面

https://happysoul.github.io/nes/nesdoug/

即使你沒有音樂天賦,你也可以製作一些很酷的音效。

 

再次用到了famitracker。

你可以用 fx或者其他的,存到一個文件夾中,每個音效都是一個"song",再模塊屬性中添加音樂

 

 

嘗試編寫音樂,使脈衝通道1或三角形播放主旋律。然後使用脈衝通道2(或噪聲通道)進行聲音效果。這樣不會發生衝突。如果您遇到sfx切割問題,您還可以嘗試使音效音量大於音樂(至少一點點)。我實際上讓我的sfx比音樂更安靜,但比Square 2頻道更響亮(大多數sfx播放)

 

他們不能太長,用C00結束音效,C00要單獨佔一行。

 

保存,導出 NSF文件

 

 

16.聲音效果

即使你沒有音樂天賦,你也可以製作一些很酷的音效。音樂很好,但如果感覺像是真正的遊戲,音效會變得更好。

 

再次,開放的famitracker。你幾乎可以使用所有的fx和任何筆記。將所有聲音效果放在1個文件中,每個聲音效果都是自己的“歌曲”。在模塊屬性中添加歌曲...

 

18_FT

 

嘗試編寫音樂,使脈衝通道1或三角形播放主旋律。然後使用脈衝通道2(或噪聲通道)進行聲音效果。這樣他們就不會發生碰撞。如果您遇到sfx切割問題,您還可以嘗試使音效音量大於音樂(至少一點點)。我實際上讓我的sfx比音樂更安靜,但比Square 2頻道更響亮,大多數sfx播放。

 

它們應該相當短。用C00結束每個效果,並將C00放在自己的行上。

 

保存。現在,導出到NSF文件。

 

19_FT

 

打開命令提示符並使用nsf2data和-ca65選項。我正在使用famitone 2 v1.15。聲音效果代碼在上次更新中發生了變化,因此請使用1.15來製作數據。

 

在sounds_data:中包含crt0.s中的聲音數據,並確保FT_SFX_ENABLE設置在頂部,並且FT_SFX_STREAMS也是1.初始化代碼將初始化我們的聲音效果。擁有1個流意味着一次只能播放1個sfx。

 

我們只需要調用聲音效果,如...

sfx_play(sfx,channel)。通道意味着流,使用channel = 0,因爲我們只有1個激活。

 

如果要定義2-4個流,可以將通道設置爲1,2,3。更高的優先級。我會警告不要太多,他們可能會發生衝突。我之前用了2個。

 

我做了它,以便跳轉調用sfx_play(SFX_JUMP,0)。B按鈕播放噪音sfx,選擇按鈕播放“ding”sfx。我稍後會用在喫硬幣時候。

 

START 按鈕依舊可以改變音樂

 

https://github.com/nesdoug/19_SFX/blob/master/platformer3.c

 

https://github.com/nesdoug/19_SFX

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章