首页 > 编程 > C > 正文

Cocos2d-x UI开发之CCControlSlider控件类使用实例

2020-01-26 15:19:50
字体:
来源:转载
供稿:网友

关于控件使用时的一些配置,请参见文章: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()); }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选