今天, 我们学习cocos2dX里面音乐音效, 为什么学他呢, 难道你喜欢看无声电影( 旁白: 我就喜欢关着声音玩), 我们不要管旁白了, 她是个疯子

老规矩, 资源准备好:

一首<故宫神思>作为背景音乐, 话说我最喜欢这样的调调了, 一个hit.mp3作为背景音效, 话说我百度了好久都没找到其它格式的音效, 将就使用mp3的了, 嘿嘿

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzY0MjQ5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

嗯, 对了, 先来看看音乐和音效的差别吧:

音乐通常是歌曲, 用来作为背景声音的, 音效一般比較短促, 用来作为打斗效果时或者按下的时候的短促声音

我们来看看经常使用的函数有哪些:

音乐MUSIC:

preloadBackgroundMusic( 音乐文件);                
//载入音乐

playBackgroundMusic( 音乐文件, bool);     //播放音乐, true代表循环播放, false代表不循环

pauseBackgroundMusic()                                  
//暂停

resumeBackgroundMusic()                              
//继续

stopBackgroundMusic()                                      
//停止

rewindBackgroundMusic()                                
//从头播放

isBackgroundMusicPlaying()                            
//是否正在播放

setBackgroundMusicVolume()                           
//设置音量

getBackgroundMusicVolume()                          
//获取音量

音效EFFECT:

额, 这个和音乐的差点儿相同, 我能不把列出来吗?

还是列出来吧, 我就不凝视了, 应该没问题

preloadEffect( 音效文件)

unloadEffect( 音效文件)

playEffect( 音效文件, 是否反复)

stopEffect( 音效ID)

stopAllEffects()

pauseEffect( 音效ID)

pauseAllEffects()

resumeEffect( 音效ID)

resumeAllEffects()

getEffectsVolume()

setEffectsVolume()

嗯, 貌似就差点儿相同了, 我们開始写代码吧:

头文件, 我们写几个回调函数用来控制音乐:

void playMusicCallback(CCObject* pSender);		//播放背景音乐
void pauseMusicCallback(CCObject* pSender); //暂停背景音乐
void recoverMusicCallback(CCObject* pSender); //恢复背景音乐
void stopMusicCallback(CCObject* pSender); //停止背景音乐

cpp文件:

我们创建四个菜单button, 用来控制声音:

//创建四个菜单button
CCMenuItemFont* playBG = CCMenuItemFont::create( "play", this, menu_selector( HelloWorld::playMusicCallback));
CCMenuItemFont* pauseBG = CCMenuItemFont::create( "pause", this, menu_selector( HelloWorld::pauseMusicCallback));
CCMenuItemFont* recoverBG = CCMenuItemFont::create( "recover", this, menu_selector( HelloWorld::recoverMusicCallback));
CCMenuItemFont* stopBG = CCMenuItemFont::create( "stop", this, menu_selector( HelloWorld::stopMusicCallback)); CCMenu* pMenu2 = CCMenu::create( playBG, pauseBG, recoverBG, stopBG, NULL);
pMenu2->setPosition( ccp( visibleSize.width / 2, visibleSize.height / 2));
pMenu2->alignItemsVertically();
addChild( pMenu2);

载入音乐文件, 而且设置默认音量:

	SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( "palaceMemories.mp3");		//载入背景音乐
SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume( 1.0); //设置默认背景音量

我们来实现四个回调函数:

分别播放背景音乐, 暂停背景音乐, 恢复背景音乐, 停止背景音乐, 嗯, 每一个回调函数里面另一个播放音效的, 点击一次菜单, 就会播放一次

void HelloWorld::playMusicCallback(CCObject* pSender)
{
SimpleAudioEngine::sharedEngine()->playBackgroundMusic( "palaceMemories.mp3");
{
//播放音效
SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
}
} void HelloWorld::pauseMusicCallback(CCObject* pSender)
{
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
{
//播放音效
SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
}
}
void HelloWorld::recoverMusicCallback(CCObject* pSender)
{
SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
{
//播放音效
SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
}
}
void HelloWorld::stopMusicCallback(CCObject* pSender)
{
SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
{
//播放音效
SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
}
}

我们来看看效果:

事实上也看不见什么效果, 额 仅仅有看看右下角的音量标志证明她在播放了, 今天的代码非常easy, 希望大家写一下, 看看效果, 有不明确的地方能够进群讨论:223856254

版权声明:本文博客原创文章,博客,未经同意,不得转载。

cocos2dX 音乐和声音效果的更多相关文章

  1. cocos2d-x 音乐/音效设置

    cocos2d-x 游戏中声音 有两种 一种是背景音乐一种是音效 载入音乐 或者音效的时候 我们须要先缓存声音 #include "SimpleAudioEngine.h" usi ...

  2. 基于jplayer实现歌词同步的JS音乐播放器效果

    分享一款基于jplayer实现歌词同步的JS音乐播放器效果.这是一款基于jQuery实现的音乐播放器功能代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <textare ...

  3. Cocos2d-x可以实现的效果总结

    Cocos2d-x可以实现的效果总结  动作(Actions) move移动:moveto/moveby 从一个位置移动到另外一个位置 从一个位置移动多少数量级 rotate旋转:rotateto/r ...

  4. iOS-自定义Model转场动画-仿酷我音乐播放器效果

    周末,闲来无事,仿写了酷我音乐播放器效果: 效果图如下: 实现思路: 1.实现手势处理视图旋转 2.自定义Model动画: 1.手势是利用了一个UIPanGestureRecognizer手势: 注意 ...

  5. Cocos2d-X中的声音和音效

    在玩游戏时都会有各种游戏音,如启动游戏时会有背景音,胜利或者失败会有一些音效.在Cocos2d-X中能够使用CocosDenshion实现各种声音 在使用CocosDenshion之前须要在程序中加入 ...

  6. 【分享】4412开发板ubuntu 12.0.4播放音乐没有声音解决方法

    转自迅为论坛:http://bbs.topeetboard.com 准备工作 1.下载 vim 在命令行上输入 apt-get install vim 下载 vim 2.输入 vim /etc/hos ...

  7. Cocos2d-X 精灵、动作效果

    命名空间宏: USING_NS_CC; 感觉事实上挺鸡肋的. NS_CC_BEGIN. == using namespace cocos2d{ NS_CC_END ; } 推断一个精灵被点击: 1.层 ...

  8. iOS开发之虾米音乐频道选择切换效果分析与实现

    今天博客的内容比较简单,就是看一下虾米音乐首页中频道选择的一个动画效果的实现.之前用mask写过另外一种Tab切换的一种效果,网易云音乐里边的一种Tab切换效果,详情请移步于"视错觉:从一个 ...

  9. android 摇一摇+震动+声音效果

    文章链接:https://mp.weixin.qq.com/s/n6EXvfmpNPtWM1kEnGgwUA 摇一摇红包效果已经是老生常谈的了,利用手机的传感器识别摇一摇,同时过程中进行动画+震动+声 ...

随机推荐

  1. app服务器

    http://heipark.iteye.com/blog/1847421http://heipark.iteye.com/blog/1847421http://wenku.baidu.com/vie ...

  2. mmc生产任务分配问题

    mmc生产任务分配问题,本题目简单.

  3. SpringMVC(转)

    http://www.cnblogs.com/liukemng/p/3725582.html

  4. 使用javascript开发2048

    嗯,团队队友开发了一个简单的2048...哈哈,没办法,这游戏那么疯狂,必须搞搞啦,大家能够直接粘贴代码到一个html文件,直接执行就可以 依赖文件:jquery,假设乜有,大家能够自己下载一份 &l ...

  5. hdu 1394 Minimum Inversion Number(线段树之 单点更新求逆序数)

    Minimum Inversion Number                                                                           T ...

  6. error: png.h not found.

    跑php设备 --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable- ...

  7. 我的CSDN之路

    经营CSDN博客刚满一年,能够说CSDN给我们带来了非常大的帮助,这一年里CSDN见证了我们的成长.以下两篇博客就是我这一年在CSDN的缩影. 这篇是我一年前写的,那时候刚申请CSDN不久:http: ...

  8. 最小路径覆盖 hdu 1151 hdu 3335

    Air Raid Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  9. android面试题 不单单为了面试也是一次非常好的学习

    以以下试题都是在网上找的总结出来的,谢谢大家的分享!希望,我们共同进步,找到自己梦想的公司: 1.android dvm 的进程和Linux的进程,应用程序的进程是否为同一个概念: 答:dvm是dal ...

  10. Visual Studio 有哪些好用的插件?

    推荐一批绝大部分都是免费的能较好增强写代码舒适度的. .NET Demon -- (非免费)安装后可以连续编译, 如果不买License的话过期后也还有代码改动后自动保存的上好功能, 安装它之后再也不 ...