閱讀448 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Cocos2d-x實例:設置背景音樂與音效- AppDelegate實現

為了進一步了解背景音樂和音效播放的我們通過一個實例給大家介紹一下。如下圖所示有兩個場景HelloWorld和Setting。在HelloWorld場景點擊“遊戲設置”菜單可以切換到Setting場景在Setting場景中可以設置是否播放背景音樂和音效設置完成後點擊“OK”菜單可以返回到HelloWorld場景。 

 








我們需要在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()是遊戲從後天回到前台時候調用在這個函數中需要繼續動畫和背景音樂播放。


更多內容請關注最新Cocos圖書《Cocos2d-x實戰 C++卷》
本書交流討論網站https://www.cocoagame.net
更多精彩視頻課程請關注智捷課堂Cocos課程https://v.51work6.com
歡迎加入Cocos2d-x技術討論群257760386


《Cocos2d-x實戰 C++卷》現已上線各大商店均已開售

京東https://item.jd.com/11584534.html

亞馬遜https://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

當當https://product.dangdang.com/23606265.html

互動出版網https://product.china-pub.com/3770734

《Cocos2d-x實戰 C++卷》源碼及樣章下載地址

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

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

歡迎關注智捷iOS課堂微信公共平台

最後更新:2017-04-03 05:39:44

  上一篇:go android係統開發 AP 和 BP 簡要說明
  下一篇:go 計算機常識--Windows篇