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
  • 相关阅读:
    IntelliJ IDEA 14.03 java 中文文本处理中的编码格式设置
    应聘感悟
    STL string分析
    CUDA SDK VolumeRender 分析 (1)
    BSP
    CUDA SDK VolumeRender 分析 (3)
    CUDA SDK VolumeRender 分析 (2)
    Windows软件发布时遇到的一些问题
    Ten Commandments of Egoless Programming (转载)
    复习下光照知识
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/3889915.html
Copyright © 2011-2022 走看看