关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。这里只写出源代码,里边的注释对控件的用法有详细的介绍。
- boolHelloWorld::init()
- {
- boolbRet=false;
- do
- {
- CC_BREAK_IF(!CCLayer::init());
- //设置一个显示字符串的label
- CCLabelTTF*title=CCLabelTTF::create("slidervalue=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);
- returnbRet;
- }
- //注意这个函数需要传入的俩个参数类型
- voidHelloWorld::valueChanged(CCObject*pSender,CCControlEventcontrolEvent)
- {
- CCControlSlider*slider=(CCControlSlider*)pSender;
- CCLabelTTF*title=(CCLabelTTF*)this->getChildByTag(1);
- //使用CCLabelTTF的时候尽量不要重新改变它的内容,这里是为了简便起见
- title->setString(CCString::createWithFormat("slidervalue=%0.02f",slider->getValue())->getCString());
- }
相关文章
猜你喜欢
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10

