小滿(bill man)個人原創,歡迎轉載,轉載請注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man
在游戲中,音樂是一個不可缺少的部分,音樂分為游戲中的長時間的背景音樂和短的音效兩種,可以為我們的游戲增加效果。Cocos2d-x支持多種音樂格式mp3,wav等音樂格式
1.背景音樂
要使用一個音樂,首先要預加載這個音樂,預加載的方法如下
~~~
SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(?CCFileUtils::fullPathFromRelativePath(MUSIC_FILE)?);
~~~
MUSIC_FILE就是音樂文件相對Res文件夾的相對路徑
然后就可以播放了,播放的方法如下
~~~
SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::fullPathFromRelativePath(MUSIC_FILE)).c_str(),?true);
~~~
第一個參數中的MUSIC_FILE就是音樂文件相對Res文件夾的相對路徑,然后再轉換為絕對路徑,第二個參數就是是否循環播放,由于是背景音樂,我們定為true
其他函數
~~~
SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();//停止背景音樂,可以代一個布爾型參數,表示是否釋放音樂文件
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();//暫停背景音樂
SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();//重頭調用背景音樂
SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()//返回布爾型參數,是否在放著背景音樂
SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);//設置音量0.0-1.0
~~~
2.音效
使用音效,和使用音樂類似,也需要預加載,用法如下
~~~
SimpleAudioEngine::sharedEngine()->preloadEffect(?CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)?);
~~~
EFFECT_FILE就是音樂的相對Res文件夾的相對路徑
然后播放就可以了
~~~
m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());
m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str(),?true);
~~~
和背景音樂一樣,第二個參數是可選的,如果是true就是循環播放,否則就是只播一次
其他函數
~~~
SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId);//停止音效,可以選擇單獨停掉一個音效,通過創建時的m_nSoundId停止
SimpleAudioEngine::sharedEngine()->stopAllEffects();//停止全部音效
SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);//暫停單個音效
SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);//重新開始音效
SimpleAudioEngine::sharedEngine()->pauseAllEffects();//暫停全部音效
SimpleAudioEngine::sharedEngine()->resumeAllEffects();//重新開始全部音效
SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5);//設置音效音量
SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());//卸載音效
~~~
最后要記住,在程序不需要音樂時,要SimpleAudioEngine::sharedEngine()->end();釋放sharedEngine()
剛開始研究此引擎,如有錯誤之處,希望大家多多指正
下一篇寫一下CCRenderTexture
- 前言
- (1)--HelloWorld
- (2)--重要概念及Test例子結構
- (3)--動作(CCAction)
- (4)--觸屏事件
- (5)--動作管理
- (6)--場景間切換效果
- (7)--CCProgressTimer
- (8)--場景特效
- (9)--粒子系統
- (10)--運動中的加速度效果
- (11)--拖動間隱效果
- (12)--圖形繪制
- (13)--內存回收機制
- (14)--菜單項
- (15)--CCOrbitCamera
- (16)--LayerColor
- (17)--瓦片地圖集
- (18)--Lable
- (19)--物理引擎box2d(1)
- (20)--物理引擎box2d(2)
- (21)--精靈類
- (22)--動畫類
- (23)--其他(屏幕旋轉,schedule,系統語言)
- (24)--音樂音效
- (25)--CCRenderTexture
- (26)--其他(游戲存檔,切換高清,圖片處理)
- (27)--CCMutableArray
- (28)--CCTMXTiledMap
- (29)-cocosBuilder
- (30)2.1新特性之CCClippingNode
- (31)2.1新特性CCPhysicsSprite
- (32)-cocos2d-x & javascript跨平臺初體驗