源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-12-08 08:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Cocos2d-x UI开发之CCControlSlider控件类使用实例
关于控件使用时的一些配置,请参见文章:[url=http://www.1sucai.cn/article/55023.htm]UI开发之控件类-CCControlButton[/url]。这里只写出源代码,里边的注释对控件的用法有详细的介绍。
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());
 }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部