加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x初探学习笔记(24)--音乐音效

发布时间:2020-12-14 14:15:21 所属栏目:百科 来源:网络整理
导读:小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 在游戏中,音乐是一个不可缺少的部分,音乐分为游戏中的长时间的背景音乐和短的音效两种,可以为我们的游戏增加效果。 Cocos2d-x 支持多种音

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

在游戏中,音乐是一个不可缺少的部分,音乐分为游戏中的长时间的背景音乐和短的音效两种,可以为我们的游戏增加效果。Cocos2d-x支持多种音乐格式mp3wav等音乐格式

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(),85); font-family:'microsoft yahei'; font-size:15px; line-height:35px"> 和背景音乐一样,第二个参数是可选的,如果是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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读