滑块控件CCControlSlider

#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);
};
//
//创建
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());
}
阅读更多
文章标签: cocos2d-x
个人分类: cocos2d-x
想对作者说点什么? 我来说一句

EVC编写的自绘滑块控件

2009年02月11日 611KB 下载

没有更多推荐了,返回首页

关闭
关闭