#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());

}
05-11 18:09