cocos2dx 3.0 声音与音效

本文详细介绍了如何使用Cocos2d-x中的SimpleAudioEngine组件来管理和控制游戏中的背景音乐及音效,包括播放、暂停、停止等操作,并提供了具体的代码实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先在h头文件中添加引用

  1. #include "SimpleAudioEngine.h"

2.在init return之前,添加播放背景音乐的代码:


  1. CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("sd.mp3",true);//第二个参数就是是否循环播放
  2. CocosDenshion::SimpleAudioEngine::getInstance()->stopBackgroundMusic(true);//停止背景音乐,可以代一个布尔型参数,表示是否释放音乐文件
  3. CocosDenshion::SimpleAudioEngine::getInstance()->pauseBackgroundMusic();//暂停背景音乐
  4. CocosDenshion::SimpleAudioEngine::getInstance()->resumeBackgroundMusic();//继续背景音乐
  5. CocosDenshion::SimpleAudioEngine::getInstance()->rewindBackgroundMusic();//重头调用背景音乐
  6. CocosDenshion::SimpleAudioEngine::getInstance()->isBackgroundMusicPlaying();//返回布尔型参数,是否在放着背景音乐
  7. CocosDenshion::SimpleAudioEngine::getInstance()->setBackgroundMusicVolume(0.1);//设置音量0.0-1.0



3.在ccTouchesEnded方法内,添加播放音效的代码:


  1. int soundid = CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("hit.wav");//和背景音乐一样,第二个参数是可选的,如果是true就是循环播放,否则就是只播一次
  2. CocosDenshion::SimpleAudioEngine::getInstance()->stopEffect(soundid);//停止音效,可以选择单独停掉一个音效,通过创建时的soundid停止
  3.     
  4. CocosDenshion::SimpleAudioEngine::getInstance()->stopAllEffects();//停止全部音效
  5. CocosDenshion::SimpleAudioEngine::getInstance()->pauseEffect(soundid);//暂停单个音效
  6. CocosDenshion::SimpleAudioEngine::getInstance()->resumeEffect(soundid);//重新开始音效
  7. CocosDenshion::SimpleAudioEngine::getInstance()->pauseAllEffects();//暂停全部音效
  8. CocosDenshion::SimpleAudioEngine::getInstance()->resumeAllEffects();//重新开始全部音效
  9. CocosDenshion::SimpleAudioEngine::getInstance()->setEffectsVolume(0.5);//设置音效音量
  10. CocosDenshion::SimpleAudioEngine::getInstance()->unloadEffect("hit.wav");//卸载音效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值