#include "cocos-ext.h" //包含头文件
using namespace cocos2d::extension;//引用命名空间
/**
* 创建CCControlSlider的两种方式
* 用CCSprite精灵创建滑块控件
* create("滑块背景图", "划过区域图", "滑块图");
* static CCControlSlider* create(CCSprite* backgroundSprite, CCSprite* pogressSprite, CCSprite* thumbSprite);
* 直接用图片资源名创建,省去了创建精灵的步骤
* 实际上,在其内部依旧是调用上面的create函数创建CCSprite精灵
* create("滑块背景图", "划过区域图", "滑块图");
* static CCControlSlider* create(const char* bgFile, const char* progressFile, const char* thumbFile);
/**
* 属性设置
* setValue ,
* setMinimumValue , setMaximumValue
* setMinimumAllowedValue , setMaximumAllowedValue ,
* setBackgroundSprite , setProgressSprite , setThumbSprite
*/
float setValue() | getValue(); //设置当前滑块的值
float setMinimumValue() | getMinimumValue(); //设置滑块最小值
float setMaximumValue() | getMaximumValue(); //设置滑块最大值
float setMinimumAllowedValue() | setMinimumAllowedValue(); //设置允许滑动的最小值
float setMaximumAllowedValue() | setMaximumAllowedValue(); //设置允许滑动的最大值
//设置滑块的背景图、划过区域图、滑块图
//CC_SYNTHESIZE_RETAIN为宏定义:除了创建了set/get以外,还用了retain来保留内存资源。
CC_SYNTHESIZE_RETAIN(CCSprite*, m_backgroundSprite, BackgroundSprite);
CC_SYNTHESIZE_RETAIN(CCSprite*, m_progressSprite, ProgressSprite);
CC_SYNTHESIZE_RETAIN(CCSprite*, m_thumbSprite, ThumbSprite);
//创建 create("滑块背景图", "划过区域图", "滑块图"), 可传入精灵 和图片
CCControlSlider *slider =CCControlSlider::create(CCSprite::createWithSpriteFrameName("ST_Volume.png"),
CCSprite::createWithSpriteFrameName("ST_Volume.png"),
CCSprite::createWithSpriteFrameName("ST_Round.png"));
slider->setMinimumValue(0.0f); //设置最低值
slider->setMaximumValue(100.0f);//设置最高值
slider->setMinimumAllowedValue();//设置最低可以滑动的值,0不需要设置
slider->setMaximumAllowedValue();//设置最高可以滑动的值
slider->setValue(50.0f); //设置当前值
slider->setPosition(ccp(p_Window->getContentSize().width * 0.55f , p_Window->getContentSize().height * 0.66f));
//设置回调函数
slider->addTargetWithActionForControlEvents(this,cccontrol_selector(MyScene::sliderCallBack) , CCControlEventValueChanged);
addChild(slider);
void MyScene::sliderCallBack(CCObject *sender, CCControlEvent controlEvent){
//回调函数
CCControlSlider* slider = (CCControlSlider*)sender;
CCLog("%f",slider->getValue());
}