小弟刚学不久,似乎发现一小问题想看看大家是否一样,不对的地方请指正。
我实现的是点击可以关闭或开启音乐
在学习龙灵修之飞机游戏视频,照着其打代码发现
CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
以上对于判断bool型CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()起不到改变其值的作用;
如我原来的代码
if (CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()) { CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); CCUserDefault::sharedUserDefault()->setBoolForKey("Music",true); }else{ CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); CCUserDefault::sharedUserDefault()->setBoolForKey("Music",false); }
发现一开始初始化有了音乐,我点击之后关闭或打开音乐后,断点调试后发现他一直不会进入else当中,及个人觉得
CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
对bool型
CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()
起不到改变其值的作用,
及后来调试后发现改成
if (CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()) { CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(true); //或者CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(false); CCUserDefault::sharedUserDefault()->setBoolForKey("Music",true); }else{ CCUserDefault::sharedUserDefault()->setBoolForKey("Music",false); CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("bgMusic.mp3"); }
能改变
CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()
值及能实现点击关闭或打开音乐按钮,
小小问题跟大家交流下,有什么好方法实现的告诉下小菜我哈。
最后附上我照着龙灵修大哥打的代码(基本一样,可能有点偏差)http://download.csdn.net/detail/five50/5166446