zoukankan      html  css  js  c++  java
  • Cocos2d-x中停止播放背景音乐

    停止背景音乐播放代码放置到什么地方比较适合呢?例如:在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
  • 相关阅读:
    python学习笔记(五)
    python学习笔记(四)
    Jenkins学习系列——iOS打包任务的创建和配置
    Jenkins学习系列——jenkins平台搭建和配置
    java及java web学习笔记
    mac book下批量替换多个文件中的字符
    MAC的sed和GNU不一样
    python杂记
    appium ios环境搭建——iOS开发环境搭建
    ideviceinstaller报Segmentation fault: 11错误解决过程
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/3889915.html
Copyright © 2011-2022 走看看