首先在工程目录下的Resource文件夹中放
#ifndef __Slider_H__ #define __Slider_H__ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; class Slider : public CCLayer { public: static CCScene* scene(); CREATE_FUNC(Slider); bool init(); void ValueChanged(CCObject*,CCControlEvent); }; #endif
#include "Slider.h" CCScene* Slider::scene() { CCScene* s = CCScene::create(); Slider* layer = Slider::create(); s->addChild(layer); return s; } bool Slider::init() { //初始化父类 CCLayer::init(); //得到窗口的尺寸 CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //创建一个滑块 CCControlSlider* slider = CCControlSlider::create("sliderTrack.png","sliderProgress.png","sliderThumb.png"); //添加滑块 addChild(slider); //设置滑块的位置 slider->setPosition(ccp(winSize.width / 2,winSize.height / 2)); //设置滑块滑动范围的最小值 slider->setMinimumValue(0); //设置滑块的最大值 slider->setMaximumValue(100); //设置滑块滑动时的最大值,此功能常用于视频网站中的免费试看的电影 slider->setMaximumAllowedValue(90); //设置滑块滑动的最小值,此功能常用于视频网站中的免费试看的电影 slider->setMinimumAllowedValue(10); //滑块响应函数(当滑块滑动时调用ValueChanged函数) slider->addTargetWithActionForControlEvents(this,cccontrol_selector(Slider::ValueChanged),CCControlEventValueChanged); return true; } void Slider::ValueChanged(CCObject* sender,CCControlEvent ev) { //当滑块滑动时 if (ev == CCControlEventValueChanged) { CCControlSlider* slider = (CCControlSlider*)sender; //得到滑块的值 float f = slider->getValue(); //打印滑块的值 CCLog("current value is %f",f); } }
执行结果:
测试运行效果: