利用cocos2dx 3.2开发消灭星星(十)为游戏添加音效(项目源码分享)

一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。
Audio.h

#ifndef _AUDIO_H_
#define _AUDIO_H_
class Audio{
public:
    static Audio* getInstance();
    void playBGM();
    void playReadyGo();
    void playPop();
    void prepare();
    void playCombo(int size);
private:
    static Audio* m_instance;
};
#endif

```

Audio.cpp
#include "Audio.h"
#include "SimpleAudioEngine.h"
Audio* Audio::m_instance = nullptr;
Audio* Audio::getInstance(){
    if(m_instance == nullptr){
        m_instance = new Audio();
    }
    return m_instance;
}

void Audio::playBGM(){
    CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("Music/music.ogg",true);
}

void Audio::playReadyGo(){
    CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Music/readygo.ogg",false);
}

void Audio::playPop(){
    CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Music/pop.ogg",false);
}

void Audio::playCombo(int size){
    if(size < 5)
        return;
    if(size >= 10){
        CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Music/combo_3.ogg",false);
    }else if(size >= 7){
        CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Music/combo_2.ogg",false);
    }else {
        CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Music/combo_1.ogg",false);
    }
}
void Audio::prepare(){
    CocosDenshion::SimpleAudioEngine::getInstance()->preloadBackgroundMusic("Music/music.ogg");
    CocosDenshion::SimpleAudioEngine::getInstance()->preloadEffect("Music/readygo.ogg");
    CocosDenshion::SimpleAudioEngine::getInstance()->preloadEffect("Music/pop.ogg");
    CocosDenshion::SimpleAudioEngine::getInstance()->preloadEffect("Music/combo_1.ogg");
    CocosDenshion::SimpleAudioEngine::getInstance()->preloadEffect("Music/combo_2.ogg");
    CocosDenshion::SimpleAudioEngine::getInstance()->preloadEffect("Music/combo_3.ogg");
}

```

好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。

最后附上整个项目的源代码
http://pan.baidu.com/s/1pJBKm07,1

:2::2::2::2::2::2::2::2::2::2::2::2:

lz 这个错误是为什么啊?我的也是3.2的

我和楼上的一样 难道是Xcode的原因

vs2012上 完美运行,但是xcode不行 :+1:

update函数没有实现

错误是因为update函数没有实现

windows VS2013 正常运行,但没声效。请问win平台下怎么才能支持COCOS2D-X可以播放OGG的音频文件?

学习学习学习学习学习

为什么我随便消掉一些星星,在VS2012中,它就提示这个?

cocos2d: fullPathForFilename: No file found at /__firePngData. Possible missing file.

android中出现错误 Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 17385 (ingxingover.net) 怎么办

android 中出现 错误 Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 17385 (ingxingover.net)

Andriod真机测试点开始游戏后闪退
请问XML文件要放哪
之前是放项目资源文件里,貌似会自动随eclipse打包到apk

同问:求楼主解决下。Andriod真机测试点开始游戏后闪退。

安卓出现闪退的解决办法:把中文字的转换方法由全局方法改为类的成员方法,即用一个单例类去封装那些方法。

多谢楼主分享,不过在xcode下编译通不过,楼主有解决办法吗?

LZ 还在吗
我的也是3.2打包到手机直接黑屏,什么都做不了,WIN下倒能显示,eclipse里也看不出是什么问题,楼主还在吗怎么解决的?

windows VS2012 正常运行,但没声效。请问win平台下怎么才能支持COCOS2D-X可以播放OGG的音频文件?

同求,我也遇到这样的问题!请联系我!2766522524