Cocos2d-x初入学堂(15)-->背景音乐和音效

来源:未知 责任编辑:智问网络 发表时间:2013-11-04 19:43 点击:

首先在这里和大家说抱歉,上讲我说了,准备这篇讲动作编辑器了,但是网上真的没有什么很好的动作编辑器,spriteX勉强可以凑合,但是我还只有java解析版的,有空我解析下,然后分享给大家用吧~

一个游戏,如果不加声音会降低整个游戏的吸引力,一些经典的游戏,我们一听到声音,就知道是什么游戏...这就是声音给玩家留下的深刻音效

游戏里面的声音分为两种:背景音乐和音效

下面就跟大家讲一下添加声音的步骤和声音控制的一些方法

第一步:预加载背景音乐和音效

 // 预加载背景音乐和音效:相对路径 .mid和.wav等格式文件

  SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE) );
    SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) );

第二步:控制声音

1、背景音乐控制方法:

//播放背景音乐

        //MUSIC_FILE就是音乐文件相对Resources文件夹的相对路径下的文件名,然后再转换为绝对路径,第二个参数就是是否循环播放
        SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE)).c_str(), true);

//停止背景音乐播放
        SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();

//暂停背景音乐播放
        SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();

//继续背景音乐播放
        SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();

//重新播放背景音乐
        SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();

//背景音乐是否正在播放

       SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()

//增大背景音乐音量
        SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()->getBackgroundMusicVolume() + 0.1f);

 //减小背景音乐音量
        SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()->getBackgroundMusicVolume() - 0.1f);

2、音效控制方法:

//播放音效1
        m_nSoundId = SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str());

//播放音效2
        m_nSoundId = SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str(), true);

 //停止播放音效(注意:如果没有播放,你就别停在,因为播都没播,你停啥啊~  其他处理也一样...呵呵  多说了)
        SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId);

//暂停音效播放
        SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);

 //继续音效播放
        SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);

//暂停所有音效
        SimpleAudioEngine::sharedEngine()->pauseAllEffects();

//继续所有音效
        SimpleAudioEngine::sharedEngine()->resumeAllEffects();

//停止所有音效
        SimpleAudioEngine::sharedEngine()->stopAllEffects();

//卸载音效
        SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str());

//增大音效音量
        SimpleAudioEngine::sharedEngine()->setEffectsVolume(SimpleAudioEngine::sharedEngine()->getEffectsVolume() + 0.1f);

 //减小音效音量
        SimpleAudioEngine::sharedEngine()->setEffectsVolume(SimpleAudioEngine::sharedEngine()->getEffectsVolume() - 0.1f);

第三步:释放声音

SimpleAudioEngine::sharedEngine()->end();

我写了14篇了,如果不是需求做物理引擎的游戏,看了我这14篇文章,开发游戏基本上没问题了,肯定途中会碰到内存控制问题,我后续再讲...

赶紧开始cocos2dx游戏开发之旅吧

呵呵~  没有添加游戏声音的朋友,赶紧为自己的游戏添加声音吧!让他更完美吧

感谢大家阅览我的博文,希望也能看到大家留下的脚印...呵呵!
如果讲述得有误,或者不对的地方,还望各位指出!

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • cocos2d-x学习笔记(19)--label 、label atlas
    • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
    • Cocos2d-x学习(一):HelloWorld
    • cocos2dx在xcode下开发,编译到android上(2)
    • cocos2d 设置屏幕默认方向
    • Cocos2d-x 2.0 之 Actions “三板斧” 之一
    • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
    • cocos2d-x学习笔记(18)--游戏打包(windows平台)
    • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1