关于COCOS2D-X 中的音乐与音效应用的备注
??? UI在游戲中占有很重要的地位,但吸引玩家的除了這些看得到的界面和動(dòng)畫之外,游戲在后臺中播放的背景音樂及游戲中打擊、動(dòng)作等音效的配合則會讓游戲更受玩家的喜愛。在Cocos2D-X中也為我們封裝了一個(gè)跨平臺的、播放音頻相關(guān)的類SimpleAudioEngine。
?
?
一、音樂與音效
?
????由于Cocos2D-X是跨平臺的引擎,所以如果大家想通過一套代碼多平臺通用播放音樂與音效,可以通過Cocos2D-X定義的宏CC_TARGET_PLATFORM平臺變量來區(qū)別播放的音頻格式。比如,Android只支持ogg的音頻格式。
??? SimpleAudioEngine的使用比較簡單,此類不需要?jiǎng)?chuàng)建,只需要調(diào)用其中的播放、暫停、重復(fù)播放等與音樂、音效相關(guān)的函數(shù)即可。
?
?
二、音樂與音效的相關(guān)函數(shù)
?
1、音樂相關(guān)的函數(shù)
?
<1> preloadBackgroundMusic:(NSString *) filePath
作用:預(yù)加載背景音樂文件。
參數(shù):音樂文件的相對路經(jīng)。
?
<2> playBackgroundMusic:(NSString *) filePath loop:(BOOL) loop
作用:播放背景音樂文件。
參數(shù)1:音樂文件的相對路經(jīng)。
參數(shù)2:是否重復(fù)播放。
?
<3> stopBackgroundMusic()
作用:停止背景音樂。
?
<4> pauseBackgroundMusic()
作用:暫停背景音樂。
?
<5> resumeBackgroundMusic()
作用:繼續(xù)播放背景音樂。
?
<6> rewindBackgroundMusic()
作用:倒帶到音樂剛開始。
?
<7> isBackgroundMusicPlaying()
作用:獲取當(dāng)前背景音樂是否正在播放中。
?
<8> float?getBackgroundMusicVolume()
作用:獲取當(dāng)前背景音樂的音量。
返回值:其音量范圍[0.0,1.0]。
?
<9> setBackgroundMusicVolume(float volume)
作用:設(shè)置當(dāng)前背景音樂的音量。
返回值:其音量范圍[0.0,1.0]。
?
2、音效相關(guān)的函數(shù)
?
<1> preloadEffect(const char * pszFilePath)
作用:預(yù)設(shè)加載音效。
參數(shù):音效文件的相對路經(jīng)。
?
<2> unloadEffect(const char * pszFilePath)
作用:釋放音效文件。
參數(shù):音效文件的相對路經(jīng)。
?
<3>?unsigned int?preloadEffect(const char * pszFilePath,bool bLoop)
作用:播放音效文件。
參數(shù)1:音效文件的相對路經(jīng)。
參數(shù)2:是否重復(fù)播放。
返回值:為播放的音效生成ID。
?
<4> stopEffect(unsigned int nSoundId)
作用:停止音效播放。
參數(shù):需要停止音效的ID。
?
<5> pauseEffect(unsigned int nSoundId)
作用:暫停音效播放。
參數(shù):需要暫停音效的ID。
?
<6> resumeEffect(unsigned int nSoundId)
作用:繼續(xù)音效播放。
參數(shù):需要繼續(xù)播放音效的ID。
?
<7> float getEffectsVolume(unsigned int nSoundId)
作用:獲取音效音量。
參數(shù):音效音量范圍[0.0,1.0]。
?
<8> setEffectsVolume(float volume)
作用:設(shè)置音效音量。
參數(shù):音效音量范圍[0.0,1.0]。
?
<9> pauseAllEffects()
作用:暫停所有音效。
?
<10> resumeAllEffects()
作用:繼續(xù)播放所有音效。
?
<11> stopAllEffects()
作用:停止所有音效。
三、音樂數(shù)據(jù)的預(yù)加載
? 一般在類似于LoadingScene等起過渡功能的場景中提前加載真正的使用場景所使用的聲音數(shù)據(jù)。當(dāng)然,一次加載所有聲效,還是先加載部分,還要根據(jù)具體情況而定。
四、音樂數(shù)據(jù)卸載
什么時(shí)機(jī)卸載音樂數(shù)據(jù)也是一個(gè)值得研究的問題。在某些時(shí)機(jī)可能通過現(xiàn)場分析來調(diào)用stopEffect這樣的函數(shù)把確實(shí)不需要的部分聲效卸載掉。
總結(jié)
以上是生活随笔為你收集整理的关于COCOS2D-X 中的音乐与音效应用的备注的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Expression Template(
- 下一篇: cocos2dx基础篇(26)——场景切