码迷,mamicode.com
首页 > 其他好文 > 详细

滑块控件CCControlSlider

时间:2015-10-05 16:55:25      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:

#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(20);//设置最低可以滑动的值,0不需要设置

slider->setMaximumAllowedValue(80);//设置最高可以滑动的值

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

}

 

滑块控件CCControlSlider

标签:

原文地址:http://www.cnblogs.com/H-K-Home/p/4855873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!