CCControlSlider 滑块的简单实用
贴码:
HelloWorld.h
private: HelloWorld(); ~HelloWorld(); //slider lable show CCLabelTTF* m_pDisplayValueLabel; void valueChanged(CCObject *sender, CCControlEvent controlEvent);
HelloWorld.cpp
HelloWorld::HelloWorld() { } HelloWorld::~HelloWorld() { CC_SAFE_RELEASE_NULL(m_pDisplayValueLabel); } CCScene* HelloWorld::scene() { // 'scene' is an autorelease object CCScene *scene = CCScene::create(); // 'layer' is an autorelease object HelloWorld *layer = HelloWorld::create(); // add layer as a child to scene scene->addChild(layer); // return the scene return scene; } bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); //03 Slider //create a show label m_pDisplayValueLabel = CCLabelTTF::create("Move the slider thumb!\nThe lower slider is restricted.", "Arial", 24); m_pDisplayValueLabel->retain(); m_pDisplayValueLabel->setPosition(ccp(visibleSize.width*0.5f, visibleSize.height*0.3f)); this->addChild(m_pDisplayValueLabel); //create a slider CCControlSlider* slider = CCControlSlider::create( "slider/sliderTrack.png", "slider/sliderProgress.png", "slider/sliderThumb.png"); slider->setPosition(ccp(visibleSize.width*0.5f, visibleSize.height*0.25f)); slider->setMinimumValue(0.0f); slider->setMaximumValue(5.0f); this->addChild(slider); slider->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::valueChanged), CCControlEventValueChanged); return true; }
void HelloWorld::valueChanged(CCObject *sender, CCControlEvent controlEvent) { CCControlSlider* pSlider = (CCControlSlider*)sender; m_pDisplayValueLabel->setString(CCString::createWithFormat("Upper slider value = %.02f", pSlider->getValue())->getCString()); }