cocos2dx 3.x 声音播放、音量调节
2016-03-12 21:18
543 查看
1. playBackgroudMusic()
playBackgroudMusic 只适合播放持续时间比较长的声音文件,比如背景音乐。[html] view
plain copy
print?
bool PlayMusic::init()
{
if ( !Layer::init() )
{
return false;
}
bool bRet = false;
do{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sky_city.mp3",true);
bRet = true;
}while(0);
return bRet;
}
2. playEffect()
playEffect 适合播放战斗的打斗声音、技能释放的声音。[html] view
plain copy
print?
bool PlayMusic::init()
{
if ( !Layer::init() )
{
return false;
}
bool bRet = false;
do{
//CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sky_city.mp3",true);
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("error.wav");
bRet = true;
}while(0);
return bRet;
}
3. 圆形音量按钮 ControlPotentiometer
一个圆形音量按钮由底座、进度条、控制按钮三部分组成。创建好音量按钮之后,它具备调节音量的功能,只有鼠标放在控制按钮上拖到一次,进度条就会改变显示范围,当然如果想控制音量,还需要加入监听事件。[html] view
plain copy
print?
bool PlayMusic::init()
{
if ( !Layer::init() )
{
return false;
}
ControlPotentiometer* potentiometer = ControlPotentiometer::create("potentiometerTrack.png","potentiometerProgress.png","potentiometerButton.png");
potentiometer->setPosition(Point(200,200));
//监听进度值改变事件
potentiometer->addTargetWithActionForControlEvents(this,cccontrol_selector(PlayMusic::onValueChange),Control::EventType::VALUE_CHANGED);
this->addChild(potentiometer);
return true;
}
void PlayMusic::onValueChange(Ref* psender,Control::EventType event)
{
ControlPotentiometer* potentiometer = (ControlPotentiometer*)psender;
String* valueStr = String::createWithFormat("%f",potentiometer->getValue());
log(valueStr->getCString());
}
4. 音量控制按钮
ControlSlider 也是有底部、进度条、控制按钮三部分组成。用法和ControlPotentiometer几乎一样。[html] view
plain copy
print?
ControlSlider* slider = ControlSlider::create("background.png","progress.png","sliderThumb.png");
slider->setPosition(ccp(300,200));
//设置滑动条的范围
slider->setMinimumValue(0);
slider->setMaximumValue(1000);
//设置滑动条当前值
slider->setValue(300);
slider->addTargetWithActionForControlEvents(this,cccontrol_selector(PlayMusic::sliderChange),Control::EventType::VALUE_CHANGED);
this->addChild(slider);
[html] view
plain copy
print?
void PlayMusic::sliderChange(Ref* psender,Control::EventType event)
{
ControlSlider* slider = (ControlSlider*)psender;
String* valueStr = String::createWithFormat("%f",slider->getValue());
log(valueStr->getCString());
}
相关文章推荐
- Cocos2d-x 3.x版2048游戏开发
- 【cocos2dx 3.2】2048
- cocos2dx实例开发之2048(添加动画版)
- cocos2dx3.x 观察者模式
- 【potatoes游戏开发】cocos2dx3.X项目重写(八)观察者模式(中)
- cocos2dx3.X项目重写(四)添加地板,障碍物和碰撞检测
- cocos2dx3.X项目重写(七)观察者模式以及schedule引起的bug
- cocos2dx3.X项目重写(二)新的物理引擎
- cocos2dx_3.X项目重新写(一)帧动画的改变
- cocos2dx TMX地图
- Win 7平台搭建Cocos2d-x Android开发环境
- 创建cocos2d-x工程及文件夹解析
- cocos2d-html5 各平台声音播放总结
- Cocos2dx-- 3.0前后对比
- protubuf在cocos2dx的应用安装
- cocos2d-x之C++ 调用Java函数并接收返回值
- cocos2d-x的回调函数
- cocos2dx常见的46中+22中动作详解
- quick-cocos2d-x图片资源加密(续)
- 让quick-cocos2d-x支持加密的plist文件