一个游戏,如果不加声音会降低整个游戏的吸引力,一些经典的游戏,我们一听到声音,就知道是什么游戏...这就是声音给玩家留下的深刻音效
游戏里面的声音分为两种:背景音乐和音效
下面就跟大家讲一下添加声音的步骤和声音控制的一些方法
第一步:预加载背景音乐和音效
// 预加载背景音乐和音效:相对路径 .mID和.wav等格式文件
SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCfileUtils::sharedfileUtils()->fullPathFromrelativePath(MUSIC_file) );
SimpleAudioEngine::sharedEngine()->preloadEffect( CCfileUtils::sharedfileUtils()->fullPathFromrelativePath(EFFECT_file) );
第二步:控制声音
1、背景音乐控制方法:
//播放背景音乐
//MUSIC_file就是音乐文件相对Resources文件夹的相对路径下的文件名,然后再转换为绝对路径,第二个参数就是是否循环播放
SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCfileUtils::sharedfileUtils()->fullPathFromrelativePath(MUSIC_file)).c_str(),true);
//停止背景音乐播放
SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
//暂停背景音乐播放
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
//继续背景音乐播放
SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
//重新播放背景音乐
SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();
//背景音乐是否正在播放
SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()
//增大背景音乐音量
SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()->getBackgroundMusicVolume() + 0.1f);
//减小背景音乐音量
SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()->getBackgroundMusicVolume() - 0.1f);
2、音效控制方法:
//播放音效1
m_nSoundID = SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCfileUtils::sharedfileUtils()->fullPathFromrelativePath(EFFECT_file)).c_str());
//播放音效2
m_nSoundID = SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCfileUtils::sharedfileUtils()->fullPathFromrelativePath(EFFECT_file)).c_str(),51); Font-family:宋体; Font-size:14px; line-height:28px"> //停止播放音效(注意:如果没有播放,你就别停在,因为播都没播,你停啥啊~ 其他处理也一样...呵呵 多说了)
SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundID);
//暂停音效播放
SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundID);
//继续音效播放
SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundID);
//暂停所有音效
SimpleAudioEngine::sharedEngine()->pauseAllEffects();
//继续所有音效
SimpleAudioEngine::sharedEngine()->resumeAllEffects();
//停止所有音效
SimpleAudioEngine::sharedEngine()->stopAllEffects();
//卸载音效
SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCfileUtils::sharedfileUtils()->fullPathFromrelativePath(EFFECT_file)).c_str());
//增大音效音量
SimpleAudioEngine::sharedEngine()->setEffectsVolume(SimpleAudioEngine::sharedEngine()->getEffectsVolume() + 0.1f);
//减小音效音量
SimpleAudioEngine::sharedEngine()->setEffectsVolume(SimpleAudioEngine::sharedEngine()->getEffectsVolume() - 0.1f);
第三步:释放声音
SimpleAudioEngine::sharedEngine()->end();
我写了14篇了,如果不是需求做物理引擎的游戏,看了我这14篇文章,开发游戏基本上没问题了,肯定途中会碰到内存控制问题,我后续再讲...
总结以上是内存溢出为你收集整理的Cocos2d-x背景音乐和音效全部内容,希望文章能够帮你解决Cocos2d-x背景音乐和音效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)