cocos2d-x【小菜在学习】体验之isBackgroundMusicPlaying对其影响

小弟刚学不久,似乎发现一小问题想看看大家是否一样,不对的地方请指正。

我实现的是点击可以关闭或开启音乐

在学习龙灵修之飞机游戏视频,照着其打代码发现

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

你可能感兴趣的:(cocos2d背景音乐)