文档章节

Cocos2d-x中停止播放背景音乐

智捷课堂
 智捷课堂
发布于 2014/08/04 12:53
字数 323
阅读 38
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

停止背景音乐播放代码放置到什么地方比较适合呢?例如:在HelloWorld场景中,主要代码如下:

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. bool HelloWorld::init()  

  2. {  

  3.    return true;  

  4. }  

  5.    

  6. void HelloWorld::onEnter()  

  7. {  

  8.     Layer::onEnter();  

  9.     log("HelloWorldonEnter");  

  10. }  

  11.    

  12. voidHelloWorld::onEnterTransitionDidFinish()  

  13. {  

  14.     Layer::onEnterTransitionDidFinish();  

  15.     log("HelloWorldonEnterTransitionDidFinish");          

  16. }  

  17.    

  18. void HelloWorld::onExit()  

  19. {  

  20.     Layer::onExit();  

  21.     log("HelloWorldonExit");  

  22.     //停止播放代码                                                                                                                          ①  

  23. }  

  24.    

  25. voidHelloWorld::onExitTransitionDidStart()  

  26. {  

  27.     Layer::onExitTransitionDidStart();  

  28.     log("HelloWorldonExitTransitionDidStart");       

  29.     //停止播放代码                                                                                                                          ②  

  30. }  

  31.    

  32. void HelloWorld::cleanup()  

  33. {  

  34.     Layer::cleanup();                                                                                                                                

  35.     log("HelloWorldcleanup");  

  36.     //停止播放代码                                                                                                                          ③  

  37. }  


关于停止背景音乐播放,理论上我们是可以将停止播放代码SimpleAudioEngine::getInstance()->stopBackgroundMusic("sound/Jazz.mp3")放置到三个位置(代码中的①、②、③)。下面我们分别分析一下它们还有什么不同。

 

1、代码放到第①和②行

代码放到第①和②行(即在HelloWorld::init函数),如果后面场景中调用背景音乐播放,则可以导致播放背景音乐异常。关于这个问题我们在前一节以及介绍过了。

 

2、代码放到第③行

代码放到第③行(即在HelloWorld::cleanup函数),这个函数是在层对象清除时候调用,在此处停止背景音乐播放是比较好的选择。



更多内容请关注Cocos2d-x系列图书《Cocos2d-x实战(卷Ⅰ):C++开发》

本书交流讨论网站:http://www.cocoagame.net

欢迎加入cocos2d-x技术讨论群:257760386、327403678



© 著作权归作者所有

智捷课堂

智捷课堂

粉丝 40
博文 239
码字总数 215495
作品 0
东城
私信 提问
Cocos2d-x中播放背景音乐

背景音乐的播放与停止实例代码如下: [html] view plaincopy SimpleAudioEngine::getInstance()->playBackgroundMusic("sound/Jazz.mp3", true); SimpleAudioEngine::getInstance()->stopBac......

智捷课堂
2014/08/04
17
0
Cocos2d-x中使用音频CocosDenshion引擎介绍与音频文件的预处理

Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎可以独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库。 具体使用的API是SimpleAudioEngine。SimpleA...

智捷课堂
2014/08/04
77
0
Cocos2d-JS使用CocosDenshion引擎

Cocos2d-JS提供了一个音频CocosDenshion引擎。具体使用的API是cc.AudioEngine。cc.AudioEngine有几个常用的函数: playMusic(url, loop)。播放背景音乐,参数url是播放文件的路径,参数loop控...

智捷课堂
2015/04/06
326
0
Cocos2d-x实例:设置背景音乐与音效-设置场景实现

设置场景(Setting),Setting.h文件代码如下: [html] view plaincopy #ifndef SettingSCENEH #define SettingSCENEH #include "cocos2d.h" #include "SimpleAudioEngine.h" class Setting ......

智捷课堂
2014/08/05
94
0
Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现

为了进一步了解背景音乐和音效播放的,我们通过一个实例给大家介绍一下。如下图所示有两个场景:HelloWorld和Setting。在HelloWorld场景点击“游戏设置”菜单可以切换到Setting场景,在Setti...

智捷课堂
2014/08/05
42
0

没有更多内容

加载失败,请刷新页面

加载更多

有哪些常用的命名git分支实例的例子? [关闭]

现在,我已经使用本地git存储库与我的组的CVS存储库进行了几个月的交互。 我已经制作了一个几乎神经质的分支,其中大部分幸运地合并回我的行李箱。 但是命名开始成为一个问题。 如果我有一个...

javail
6分钟前
3
0
在virtualenv中使用不同的Python版本

我有一个目前使用python 2.5.4运行的Debian系统。 我正确安装了virtualenv,一切正常。 我是否可以将virtualenv与其他版本的Python一起使用? 我编译了Python 2.6.2,并希望将其与一些virtu...

技术盛宴
21分钟前
4
0
保证金术语参考

术语,定义 1.钱包, 余额. ON THE ENCHANGED CONVERGENCE OF STANDARD LATTICE METHODS FOR OPTION PRICING...

MtrS
24分钟前
3
0
x006-函数和模块的使用

函数和模块的使用 在Python中可以使用def关键字来定义函数,和变量一样每个函数也有一个响亮的名字,而且命名规则跟变量的命名规则是一致的。在函数名后面的圆括号中可以放置传递给函数的参数...

伟大源于勇敢的开始
34分钟前
3
0
为什么面试必问线程状态?你的回答满分了吗

看很多同学的面经、网上的面试资料,都不约而同的提到了一个基础问题:“你知道线程有几种状态吗?状态之间的扭转是怎样的?”,有准备的同学都知道有五种:New(新建)、Runnable(可运行)...

Z_J_H
34分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部