博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ControlExtensionTest(二)-----CCControlSlider
阅读量:4315 次
发布时间:2019-06-06

本文共 3269 字,大约阅读时间需要 10 分钟。

#include "../CCControlScene.h"class CCControlSliderTest : public CCControlScene{public:    CCControlSliderTest();    virtual ~CCControlSliderTest();    bool init();    void valueChanged(CCObject *sender, CCControlEvent controlEvent);protected:    CCLabelTTF* m_pDisplayValueLabel;    CONTROL_SCENE_CREATE_FUNC(CCControlSliderTest)};
CCControlSliderTest::~CCControlSliderTest(){    CC_SAFE_RELEASE_NULL(m_pDisplayValueLabel);}
bool CCControlSliderTest::init(){    if (CCControlScene::init())    {        CCSize screenSize = CCDirector::sharedDirector()->getWinSize();        // Add a label in which the slider value will be displayed        m_pDisplayValueLabel = CCLabelTTF::create("Move the slider thumb!\nThe lower slider is restricted." ,"Marker Felt", 32);        m_pDisplayValueLabel->retain();        m_pDisplayValueLabel->setAnchorPoint(ccp(0.5f, -1.0f));        m_pDisplayValueLabel->setPosition(ccp(screenSize.width / 1.7f, screenSize.height / 2.0f));        addChild(m_pDisplayValueLabel);        // Add the slider//第一个参数是背景,第二个参数是进度条,第三个参数表示拖动按钮        CCControlSlider *slider = CCControlSlider::create("extensions/sliderTrack.png","extensions/sliderProgress.png" ,"extensions/sliderThumb.png");        slider->setAnchorPoint(ccp(0.5f, 1.0f));        slider->setMinimumValue(0.0f); // Sets the min value of range        slider->setMaximumValue(5.0f); // Sets the max value of range        slider->setPosition(ccp(screenSize.width / 2.0f, screenSize.height / 2.0f + 16));        slider->setTag(1);        // When the value of the slider will change, the given selector will be call//当进度值改变时,触发的函数        slider->addTargetWithActionForControlEvents(this, cccontrol_selector(CCControlSliderTest::valueChanged), CCControlEventValueChanged);        CCControlSlider *restrictSlider = CCControlSlider::create("extensions/sliderTrack.png","extensions/sliderProgress.png" ,"extensions/sliderThumb.png");        restrictSlider->setAnchorPoint(ccp(0.5f, 1.0f));        restrictSlider->setMinimumValue(0.0f); // Sets the min value of range        restrictSlider->setMaximumValue(5.0f); // Sets the max value of range//设置允许的最大值和最小值        restrictSlider->setMaximumAllowedValue(4.0f);        restrictSlider->setMinimumAllowedValue(1.5f);        restrictSlider->setValue(3.0f);        restrictSlider->setPosition(ccp(screenSize.width / 2.0f, screenSize.height / 2.0f - 24));        restrictSlider->setTag(2);    //same with restricted        restrictSlider->addTargetWithActionForControlEvents(this, cccontrol_selector(CCControlSliderTest::valueChanged), CCControlEventValueChanged);        addChild(slider);            addChild(restrictSlider);        return true;    }    return false;}
void CCControlSliderTest::valueChanged(CCObject *sender, CCControlEvent controlEvent){    CCControlSlider* pSlider = (CCControlSlider*)sender;    // Change value of label.    if(pSlider->getTag() == 1)        m_pDisplayValueLabel->setString(CCString::createWithFormat("Upper slider value = %.02f", pSlider->getValue())->getCString());      if(pSlider->getTag() == 2)        m_pDisplayValueLabel->setString(CCString::createWithFormat("Lower slider value = %.02f", pSlider->getValue())->getCString());  }//pSlider->getValue()可以获取滑动条的值

 

转载于:https://www.cnblogs.com/newlist/p/3243593.html

你可能感兴趣的文章
pacs dicom3.0 DCMTK EFilm
查看>>
大气登录页面
查看>>
应用程序缓存的应用(摘抄)
查看>>
C#析构函数,类运行结束后运行
查看>>
在LAMP的生产环境内添加PHP的cURL扩展模块
查看>>
AMH 软件目录介绍
查看>>
你可能使用了Spring最不推荐的注解方式
查看>>
java常见3种文件上传速度对比和文件上传方法详细代码
查看>>
SVD总结
查看>>
python基础教程(三)
查看>>
PL SQL Developer中文乱码
查看>>
字符串知识大全
查看>>
软件目录结构规范及堂兄弟文件引用
查看>>
H5 WebSocket通信和WCF支持WebSocket通信
查看>>
文件上传
查看>>
不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况...
查看>>
Linux的IO性能监控工具iostat详解
查看>>
老杨聊架构:每个架构师都应该研究下康威定律
查看>>
1022: 锤子剪刀布
查看>>
RESTful-rest_framework认证组件、权限组件、频率组件-第五篇
查看>>