cocos2dX 之音乐与音效
来源:互联网 发布:淘宝 2.8mm 监控镜头 编辑:程序博客网 时间:2024/04/29 09:14
今天, 我们来学习cocos2dX里面的音乐和音效, 为什么学他呢, 难道你喜欢看无声电影( 旁白: 我就喜欢关着声音玩), 我们不要管旁白了, 她是个疯子
老规矩, 资源准备好:
一首<故宫神思>作为背景音乐, 话说我最喜欢这种调调了, 一个hit.mp3作为背景音效, 话说我百度了好久都没找到其他格式的音效, 将就使用mp3的了, 嘿嘿
嗯, 对了, 先来看看音乐和音效的区别吧:
音乐一般是歌曲, 用来作为背景声音的, 音效一般比较短促, 用来作为打斗效果时或者按下的时候的短促声音
我们来看看常用的函数有哪些:
音乐MUSIC:
preloadBackgroundMusic( 音乐文件); //加载音乐
playBackgroundMusic( 音乐文件, bool); //播放音乐, true代表循环播放, false代表不循环
pauseBackgroundMusic()
//暂停
resumeBackgroundMusic()
//继续
stopBackgroundMusic()
//停止
rewindBackgroundMusic()
//从头播放
isBackgroundMusicPlaying()
//是否正在播放
setBackgroundMusicVolume()
//设置音量
getBackgroundMusicVolume()
//获取音量
额, 这个和音乐的差不多, 我能不把列出来吗?
还是列出来吧, 我就不注释了, 应该没问题
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文件:
我们创建四个菜单按钮, 用来控制声音:
- //创建四个菜单按钮
- 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");
- }
- }
我们来看看效果:
其实也看不见什么效果, 额 只有看看右下角的音量标志证明她在播放了, 今天的代码很简单, 希望大家写一下, 看看效果, 有不明白的地方可以进群讨论:223856254
- cocos2dX 之音乐与音效
- cocos2dX 之音乐与音效
- cocos2dx-音乐音效
- cocos2dx音乐音效
- cocos2dx-音乐音效
- cocos2D-x之音乐与音效
- cocos2D-x之音乐与音效
- cocos2D-x之音乐与音效
- 音乐与音效
- 音效与音乐
- 音效与音乐
- cocos2dx之音效引擎
- 22、Cocos2dx 3.0游戏开发找小三之音乐与音效:假如世界上没有了音乐,你的耳朵会孤单吗?
- cocos2dX 音乐音效,就是声音啦
- cocos2d-x 音乐与音效
- cocos2d-x 音乐与音效
- Cocoa2d-x 音乐与音效
- cocos2d之音乐和音效
- LayoutInflater的问题(剖析的比较深)
- uiscrollview中view向下偏移64
- 一些链接
- 暑期个人赛--第五场--E(待A)
- vim自选快捷键
- cocos2dX 之音乐与音效
- qq安装
- 两个VLC实现播放串流测试
- TinyXml快速入门(三)
- 暑期个人赛--第六场--C(待A)
- 微信公众帐号第三方服务平台源码
- 每天起床时,优秀创业者都会问自己这3个问题
- hadoop学习之系统选择篇
- 如何成为一个合格的程序员