`

Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现

 
阅读更多

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

 







我们需要在AppDelegate中实现背景音乐播放暂停与继续函数,AppDelegate.h文件代码如下:

[html] view plaincopy
 
  1. #ifndef  _APP_DELEGATE_H_  
  2. #define  _APP_DELEGATE_H_  
  3.   
  4.   
  5. #include "cocos2d.h"  
  6. #include "SimpleAudioEngine.h"                                          ①  
  7.   
  8.   
  9. using namespace CocosDenshion;                                          ②  
  10. class  AppDelegate : private cocos2d::Application  
  11. {  
  12. public:  
  13.     AppDelegate();  
  14.     virtual ~AppDelegate();  
  15.   
  16.   
  17.     virtual bool applicationDidFinishLaunching();  
  18.     virtual void applicationDidEnterBackground();  
  19.     virtual void applicationWillEnterForeground();  
  20. };  
  21.   
  22.   
  23. #endif // _APP_DELEGATE_H_  



上述代码第①行是引入头文件SimpleAudioEngine.h,它是SimpleAudioEngine所需要的。第②行代码using namespace CocosDenshion是使用命名空间CocosDenshion,它是CocosDenshion引擎所需要的。

[html] view plaincopy
 
  1. #include "AppDelegate.h"  
  2. #include "HelloWorldScene.h"  
  3.   
  4.   
  5. USING_NS_CC;  
  6.   
  7.   
  8. AppDelegate::AppDelegate() {  
  9.   
  10.   
  11. }  
  12.   
  13.   
  14. AppDelegate::~AppDelegate()   
  15. {  
  16. }  
  17.   
  18.   
  19. bool AppDelegate::applicationDidFinishLaunching() {                             ①  
  20. … …  
  21.     // run  
  22.     director->runWithScene(scene);  
  23.       
  24.     //初始化 背景音乐  
  25.     SimpleAudioEngine::getInstance()->preloadBackgroundMusic("sound/Jazz.mp3");      ②  
  26.     SimpleAudioEngine::getInstance()->preloadBackgroundMusic("sound/Synth.mp3");     ③  
  27.     //初始化 音效  
  28.     SimpleAudioEngine::getInstance()->preloadEffect("sound/Blip.wav");                   ④  
  29.   
  30.   
  31.     return true;  
  32. }  
  33.   
  34.   
  35. void AppDelegate::applicationDidEnterBackground() {                             ⑤  
  36.     Director::getInstance()->stopAnimation();  
  37.   
  38.   
  39.     SimpleAudioEngine::getInstance()->pauseBackgroundMusic();                    ⑥  
  40. }  
  41.   
  42.   
  43. void AppDelegate::applicationWillEnterForeground() {                                ⑦  
  44.     Director::getInstance()->startAnimation();  
  45.   
  46.   
  47.     SimpleAudioEngine::getInstance()->resumeBackgroundMusic();                   ⑧  
  48. }  



我们在上述代码第①行是声明applicationDidFinishLaunching()函数,这个函数是在游戏启动时候调用。第②~④行代码是初始化背景音乐和音效文件。

第⑤行代码是声明applicationDidEnterBackground()是游戏进入到后天时候调用函数,在这个函数中需要停止动画和暂停背景音乐播放。第⑦行代码是声明applicationWillEnterForeground()是游戏从后天回到前台时候调用,在这个函数中需要继续动画和背景音乐播放。

 

 

更多内容请关注最新Cocos图书《Cocos2d-x实战 C++卷》
本书交流讨论网站:http://www.cocoagame.net
更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
欢迎加入Cocos2d-x技术讨论群:257760386


《Cocos2d-x实战 C++卷》现已上线,各大商店均已开售:

京东:http://item.jd.com/11584534.html

亚马逊:http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

当当:http://product.dangdang.com/23606265.html

互动出版网:http://product.china-pub.com/3770734

 

《Cocos2d-x实战 C++卷》源码及样章下载地址:

源码下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1 

样章下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1

欢迎关注智捷iOS课堂微信公共平台
分享到:
评论

相关推荐

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    Cocos2d-x实战:C++卷(2版)源代码

    6. **声音与音乐**:Cocos2d-x支持音频播放,包括背景音乐和音效,可以实现音效的同步和控制。 7. **资源管理**:有效管理和加载图片、音频、字体等资源是游戏开发的关键,Cocos2d-x提供了资源管理工具和缓存机制。...

    Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整

    标题中提到了"Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整",这里面包含了几个关键知识点: 1. Cocos2d-x:是一个开源的游戏开发框架,它主要用于开发跨平台的游戏和应用程序,支持iOS、...

    Cocos2d-x实战:Lua卷(第2版)书籍代码

    这是书籍 Cocos2d-x实战:Lua卷(第2版)的代码,关东升老师的,这里分享出来。除了章节的小示例代码外,还有一个《迷失航线》的游戏示例代码。这是一个下载地址。

    cocos2d-x实战 c++卷教程及完整源码

    cocos2d-x实战 c++卷教程及完整源码下载,使用最新cocos2d-x-3.14版本,在xcode7.3上已编译通过。 解决相关问题 1、解决源程序在高版本上无法编译问题 2、解决源程序中文注释部分,xcode上显示乱码问题 3、根据书籍...

    《Cocos2d-x实战 Lua卷》源码.7z

    这本书的源码提供了丰富的实例和练习,帮助读者更好地理解和掌握Cocos2d-x与Lua的结合使用。 源码是学习编程的重要资源,特别是对于游戏开发来说,通过实际代码可以深入理解引擎的工作原理和Lua在游戏逻辑中的应用...

    Cocos2d-x实战_Lua卷 _第2版

    《Cocos2d-x实战_Lua卷_第2版》是一本专为游戏开发者准备的指南,主要聚焦于使用Cocos2d-x框架与Lua语言进行游戏开发。Cocos2d-x是一个开源的游戏开发框架,它允许开发者用C++、Lua或者JavaScript编写游戏,并且可以...

    Cocos2d-x实战:Lua卷

    3. **Cocos2d-x与Lua的集成**:学习如何配置Cocos2d-x项目以支持Lua,包括安装tolua++,设置Lua脚本路径,以及在C++代码中调用Lua函数和在Lua中调用C++函数的方法。 4. **游戏逻辑实现**:通过Lua编写游戏的逻辑...

    Cocos2d-x实战C++卷关东升著完整版pdf

    同时,音效和音乐管理也是游戏体验的重要组成部分,书中会介绍如何使用Cocos2d-x的音频API来播放和控制音频资源。 在实际项目开发中,内存管理和性能优化是关键。本书可能会详细讲解Cocos2d-x中的内存管理机制,如...

    关东升-Cocos2d-x实战:Lua卷

    3. **Lua与Cocos2d-x的集成**:通过具体的示例项目,书籍将指导读者如何将Lua脚本与Cocos2d-x项目结合,实现游戏逻辑的编写。 4. **游戏对象与场景管理**:详细解释如何使用Cocos2d-x创建游戏对象(如精灵、按钮等)...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    在学习和使用cocos2d-x 3.8时,开发者需要注意与最新版本的差异,例如API的变化、新功能的缺失等。同时,由于3.8是旧版本,可能不再受到官方的维护和支持,所以在解决特定问题时可能需要查阅旧的文档或社区论坛。 ...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    本书会介绍Cocos2d-x的音频API,包括音乐播放、音效处理以及音效资源的加载和管理。 此外,书中还会涉及用户输入处理、触摸事件、键盘事件的响应,以及如何实现游戏的交互功能。对于网络编程,Cocos2d-x提供了网络...

    [Cocos2d-X] Cocos2d-X 实例开发初学者指南 (英文版)

    [Packt Publishing] Cocos2d-X 实例开发初学者指南 (英文版) [Packt Publishing] Cocos2d-X by Example Beginner's Guide (E-Book) ☆ 出版信息:☆ [作者信息] Roger Engelbert [出版机构] Packt Publishing ...

    cocos2d-x-cocos2d-x-2.2.2.zip

    这个压缩包“cocos2d-x-cocos2d-x-2.2.2.zip”包含了cocos2d-x 的2.2.2版本,该版本是cocos2d-x发展中的一个重要里程碑,它提供了许多改进和优化,使得开发者能够更加高效地创建2D游戏和应用。 在cocos2d-x 2.2.2中...

    cocos2d-x windows vs2010配置

    "cocos2d-x windows vs2010 配置详解" 本文将详细介绍如何在 Windows 环境下使用 Visual Studio 2010 配置 Cocos2d-x 游戏引擎。Cocos2d-x 是一个跨平台的游戏引擎,可以在多种平台上运行,包括 Windows、Mac OS X...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    6. **音频和音乐**:介绍如何在Cocos2d-x中播放背景音乐和音效,以及音乐的控制和管理。 7. **网络与存储**:讨论如何进行网络通信,如下载更新、保存和读取游戏数据。 8. **性能优化**:提供关于代码优化、内存...

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    《cocos2d-x 动画工具 Flash2Cocos2d-x 1.3:将Flash创意带入移动游戏开发》 在移动游戏开发领域,cocos2d-x是一款广泛使用的开源游戏引擎,以其高效、跨平台的特性深受开发者喜爱。而Flash2Cocos2d-x则是一个专为...

    cocos2d-x 3.0

    本篇文章将深入探讨cocos2d-x 3.0中实现人物行走的关键技术和步骤,以及如何结合提供的代码和图片资源进行实践。 一、cocos2d-x 3.0简介 cocos2d-x 3.0是cocos2d-x系列的一个重要升级,它基于C++编写,支持跨平台...

    cocos2d-x-3.1.zip

    8. **音频支持**:支持播放背景音乐和音效,提供了简单的音频API。 9. **资源管理**:使用ResourceManager来加载和管理游戏资源,如图片、音频、字体等。 10. **性能优化**:Cocos2d-x 3.1对内存管理和渲染效率...

    cocos2d-x-2.1.4.rar

    3. 音效处理:集成的音频引擎支持播放背景音乐和音效,为游戏增添了生动的声音效果。 4. 网络通信:提供网络接口,方便实现游戏的在线功能,如用户登录、排行榜、多人对战等。 5. 学习资源:cocos2d-x 社区活跃,...

Global site tag (gtag.js) - Google Analytics