今天, 我们学习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. 图像库---Image Datasets---OpenSift源代码---openSurf源代码

    1.Computer Vision Datasets on the web http://www.cvpapers.com/datasets.html 2.Dataset Reference http ...

  2. asp.net Form 认证【转】

    第一部分 如何运用 Form 表单认证 一.        新建一个测试项目 为了更好说明,有必要新建一个测试项目(暂且为“FormTest”吧),包含三张页面足矣(Default.aspx.Logi ...

  3. 小试Office OneNote 2010的图片文字识别功能(OCR)

    原文:小试Office OneNote 2010的图片文字识别功能(OCR) 自Office 2003以来,OneNote就成为了我电脑中必不可少的软件,它集各种创新功能于一身,可方便的记录下各种类型 ...

  4. hdu(预处理+线段树)

    给n个数,m个询问, 问任意区间内与其它数互质的数有多少个 比如3个数1 2 4,询问[1,3] 那么答案是1 千万要记住,这样的题目,如果你不转变下,使劲往线段树想(虽然转变之后,也说要用到线段树, ...

  5. Composite Design Pattern 设计模式组合

    设计模式组合,它能够更类组合在一类,形成一个树状结构. #include <set> #include <iostream> #include <string> u ...

  6. 【剑指offer】设置在最小数目的阵列

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/28128551 题目描写叙述: 输入一个正整数数组,把数组里全部数字拼接起来排成一个数.打印 ...

  7. oracle 修改dbid和dbname

    一般这玩意没人修改,除非特殊情况,比如克隆数据库等等 步骤: 1.备份数据库 2.启动数据到mount状态 3.nid命令修改 (如果只是修改dbid,那么不需要dbname参数,需要更改dbname ...

  8. Red Gate系列之一 SQL Compare 10.4.8.87 Edition 数据库比较工具 完全破解+使用教程

    原文:Red Gate系列之一 SQL Compare 10.4.8.87 Edition 数据库比较工具 完全破解+使用教程 Red Gate系列之一 SQL Compare 10.4.8.87 E ...

  9. oracle 锁表、解锁的语句

     --1.以下的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_object ...

  10. 深入了解回调函数Java

    打回来.我第一次看到Java编程思想,后来Observer模式也适用于一个回调函数的想法.但是,一直没有重视,在处于劣势的最终面试,越来越明白为什么那么多人说Java编程思想,这本书应该是一遍又一遍, ...