下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Cocos2D-X游戏开发实例教程:设置背景音乐与音效

作者:课课家教育     来源: http://www.kokojia.com点击数:1608发布时间: 2019-04-11 09:39:19

标签: Cocos2D-X实例Cocos2D-X背景音乐Cocos2D-X教程

  我们在游戏开发中背景音乐与音效都是画龙点睛的一步,也是游戏成功与否的关键点之一,所以本篇教程将带大家了解在Cocos2d-x中怎么设置背景音乐与音效。

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

Cocos2D-X游戏开发实例教程:设置背景音乐与音效_Cocos2D-X实例_Cocos2D-X背景音乐_Cocos2D-X教程_课课家

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

  #ifndef _app_DELEGATE_H_

  #define _APP_DELEGATE_H_

  #include "cocos2d.h"

  #include "SimpleAudioEngine.h" ①

  using namespace CocosDenshion; ②

  class AppDelegate : private cocos2d::Application

  {

  public:

  AppDelegate();

  virtual ~AppDelegate();

  virtual bool applicationDidFinishLaunching();

  virtual void applicationDidEnterBackground();

  virtual void applicationWillEnterForeground();

  };

  #endif // _APP_DELEGATE_H_

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

  #include "AppDelegate.h"

  #include "HelloWorldScene.h"

  USING_NS_CC;

  AppDelegate::AppDelegate() {

  }

  AppDelegate::~AppDelegate()

  {

  }

  bool AppDelegate::applicationDidFinishLaunching() { ①

  … …

  // run

  director->runWithScene(scene);

  //初始化 背景音乐

  SimpleAudioEngine::getInstance()->preloadBackgroundMusic("sound/Jazz.mp3"); ②

  SimpleAudioEngine::getInstance()->preloadBackgroundMusic("sound/Synth.mp3"); ③

  //初始化 音效

  SimpleAudioEngine::getInstance()->preloadEffect("sound/Blip.wav"); ④

  return true;

  }

  void AppDelegate::applicationDidEnterBackground() { ⑤

  Director::getInstance()->stopAnimation();

  SimpleAudioEngine::getInstance()->pauseBackgroundMusic(); ⑥

  }

  void AppDelegate::applicationWillEnterForeground() { ⑦

  Director::getInstance()->startAnimation();

  SimpleAudioEngine::getInstance()->resumeBackgroundMusic(); ⑧

  }

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

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

赞(29)
踩(2)
分享到:
华为认证网络工程师 HCIE直播课视频教程