cocos2d-x 공부용2014. 8. 25. 14:08


UI开发之控件类CCControlPotentiometer

1bool HelloWorld::init()
2{
3    bool bRet = false;
4    do
5    {
6        CC_BREAK_IF(!CCLayer::init());
7 
8        //CCControlPotentiometer参数是底座,进度条,控制按钮图片资源
9        CCControlPotentiometer * potentiometer = CCControlPotentiometer::create("potentiometerTrack.png",
10            "potentiometerProgress.png","potentiometerButton.png");
11        //设置最大值和最小值以及初值
12        potentiometer->setMaximumValue(100.0);
13        potentiometer->setMinimumValue(0.0);
14        potentiometer->setValue(50);
15 
16        potentiometer->setPosition(ccp(240,160));
17        this->addChild(potentiometer);
18 
19        //添加事件监听
20        potentiometer->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::valueChanged),
21            CCControlEventValueChanged);
22 
23        bRet = true;
24    }
25    while(0);
26 
27    return bRet;
28}
29 
30void HelloWorld::valueChanged(CCObject * pSender,CCControlEvent controlEvent)
31{
32    CCControlPotentiometer * potentiometer = (CCControlPotentiometer *)pSender;
33    CCString * string = CCString::createWithFormat("%f",potentiometer->getValue());
34    CCLog(string->getCString());


Posted by 아이시네프
cocos2d-x 공부용2014. 8. 1. 14:07

 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());
}


Posted by 아이시네프