Quick-cocos2d-x3.3 Study (二十)--------- 音樂音效


音樂音效

接下來,我們來給游戲添加背景音樂和音效。

首先我們要知道的是,Quick 引擎封裝了一套與聲音相關的 audio 模塊,我們可以通過它方便的調用聲音相關的 API 來控制聲音。audio 模塊提供了眾多的方法和屬性,比如預加載、播放、暫停、停止、恢復聲音等等。

我們還需知道,游戲中的聲音背引擎分為了兩種:一種是Music(指背景音樂),另一種則是Sound(指游戲音效,也就是除了背景音樂以外的聲音)。

下面是一些控制背景音樂相關的常用 API:

  • 預載入一個音樂文件:audio.preloadMusic(filename)
    它在播放音樂前預先載入,可以在需要播放音樂時無延遲立即播放。不過限於硬件設備和操作系統的限制,通常只能預載入一個音樂文件,參數為音樂文件名。

  • 播放音樂:audio.playMusic(filename, isLoop),參數分別表示音樂文件名,以及是否循環播放音樂,默認情況下為 true。
    如果音樂文件尚未載入,則會首先載入音樂文件,然后開始播放。
    注意:即便音樂音量為 0.0,audio.playMusic() 仍然會進行播放操作。
    如果希望停止音樂來降低 CPU 占用,應該使用 audio.stopMusic() 接口完全停止音樂播放。

  • 暫停音樂的播放:audio.pauseMusic()

  • 恢復暫停的音樂:audio.resumeMusic()

  • 停止播放音樂:audio.stopMusic(isReleaseData),參數 isReleaseData 表示是否釋放音樂數據,默認為 true。

  • 設置音樂的音量:audio.setMusicVolume(volume)
    volume 音量在 0.0 到 1.0 之間, 0.0 表示完全靜音,1.0 表示 100% 音量。

  • 返回音樂的音量值:audio.getMusicVolume()
    返回值在 0.0 到 1.0 之間,0.0 表示完全靜音,1.0 表示 100% 音量

控制音效相關的 API 與控制背景音樂的類似,如audio.playSound(filename, isLoop),audio.setSoundsVolume(volume)等,所以這里我們就不再列舉了。

回到我們的游戲,因為它的音樂音效不需要過多的設置和變化,所以,我們用不超過二十行的代碼就可以實現整個聲音系統的制作。如下:

首先,在 res 文件夾下新建一個 sound 文件夾,把需要的聲音文件都放到這個文件夾中。然后在 MyApp.lua 文件中,我們先預加載需要的音樂音效。

1     audio.preloadMusic("sound/background.mp3") 2     audio.preloadSound("sound/button.wav") 3     audio.preloadSound("sound/ground.mp3") 4     audio.preloadSound("sound/heart.mp3") 5     audio.preloadSound("sound/hit.mp3")

 

 

接着,我們就可以在 MainScene 場景中播放背景音樂了。

 1 audio.playMusic("sound/background.mp3", true) 

另外,在需要播放音效的地方添加類似下面的函數就可以播放音效。

 1 audio.playSound("sound/button.wav") 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM