关闭

滑块控件CCControlSlider

标签: cocos2d-x
34人阅读 评论(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);
};
//
//创建
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());
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32次
    • 积分:2
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档
    阅读排行
    评论排行