展会信息港展会大全

Cocos2d-x UI开发之CCControlSlider控件类使用实例
来源:互联网   发布日期:2015-09-28 10:42:59   浏览:1991次  

导读: 关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。这里只写出源代码,里边的注释对控件的用法有详细的介绍。 bool HelloWorld::init()...

关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。这里只写出源代码,里边的注释对控件的用法有详细的介绍。

bool HelloWorld::init()

{

bool bRet = false;

do

{

CC_BREAK_IF(! CCLayer::init());

//设置一个显示字符串的label

CCLabelTTF * title = CCLabelTTF::create("slider value = 0.00","Arial",32);

title->setPosition(ccp(240,200));

//设置label的tag为1,方便以后获取

this->addChild(title,0,1);

//这三张图片分别是底部,进度条,控制按钮

CCControlSlider * slider = CCControlSlider::create("sliderTrack.png","sliderProgress.png",

"sliderThumb.png");

//设置slider的最大值最小值

slider->setMaximumValue(100);

slider->setMinimumValue(0);

//为slider添加事件监听函数

slider->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::valueChanged),

CCControlEventValueChanged);

//设置位置

slider->setPosition(ccp(240,160));

this->addChild(slider);

//使用CCControlSlider实现血量条,只要将第三个控制按钮改为透明的就可以了,就会貌似血量条了

CCControlSlider * slider2 = CCControlSlider::create("sliderTrack.png","progress.png","sliderThumb2.png");

//通过以下函数使得认为的不能改变它的值

slider2->setTouchEnabled(false);

slider2->setMaximumValue(100);

slider2->setMinimumValue(0);

//可以添加事件处理函数,在事件处理函数中改变它的value

slider2->setValue(100);

slider2->setPosition(ccp(240,100));

this->addChild(slider2);

bRet = true;

} while (0);

return bRet;

}

//注意这个函数需要传入的俩个参数类型

void HelloWorld::valueChanged(CCObject * pSender,CCControlEvent controlEvent)

{

CCControlSlider * slider = (CCControlSlider *)pSender;

CCLabelTTF * title = (CCLabelTTF *)this->getChildByTag(1);

//使用CCLabelTTF的时候尽量不要重新改变它的内容,这里是为了简便起见

title->setString(CCString::createWithFormat("slider value = %0.02f",slider->getValue())->getCString());

}

赞助本站

人工智能实验室
相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港