标签:style blog http color 使用 os io 文件
背景音乐的播放与停止实例代码如下:SimpleAudioEngine::getInstance()->playBackgroundMusic("sound/Jazz.mp3", true);
SimpleAudioEngine::getInstance()->stopBackgroundMusic("sound/Jazz.mp3");bool Setting::init()
{
//播放代码 ①
return true;
}
void Setting::onEnter()
{
Layer::onEnter();
log("Setting onEnter");
//播放代码 ②
}
void Setting::onEnterTransitionDidFinish()
{
Layer::onEnterTransitionDidFinish();
log("Setting onEnterTransitionDidFinish");
//播放代码 ③
}
void Setting::onExit()
{
Layer::onExit();
log("Setting onExit");
}
void Setting::onExitTransitionDidStart()
{
Layer::onExitTransitionDidStart();
log("Setting onExitTransitionDidStart");
}
void Setting::cleanup()
{
Layer::cleanup();
log("Setting cleanup");
}
为了解释这个现象,我们可以参考一下6.3.2一节多场景切换生命周期。使用pushScene函数从实现HelloWorld场景进入Setting场景,生命周期函数调用顺序如下图所示。
综上所述,是否能够成功播放背景音乐,前面场景是否有调用背景音乐停止语句有关,也与当前场景中播放代码在哪个函数里有关。如果前面场景没有调用背景音乐停止语句,问题也就简单了,我们可以将播放代码放置在代码①、②、③任何一处。但是如果前面场景调用背景音乐停止语句,在onEnterTransitionDidFinish函数播放背景音乐会更好一些。
Cocos2d-x中播放背景音乐,布布扣,bubuko.com
标签:style blog http color 使用 os io 文件
原文地址:http://blog.csdn.net/tonny_guan/article/details/38367709