当前位置:主页 > c/c++教程 > Cocos2d-x CCControlSlider控件类使用实例

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

发布:2022-10-17 09:16:09 59


我们帮大家精选了c++相关的编程文章,网友胡燕艳根据主题投稿了本篇教程内容,涉及到Cocos2d-x、UI开发、CCControlSlider、控件类、Cocos2d-x CCControlSlider控件类使用实例相关内容,已被272网友关注,涉猎到的知识点内容可以在下方电子书获得。

Cocos2d-x CCControlSlider控件类使用实例

关于控件使用时的一些配置,请参见文章: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());
 }

参考资料

相关文章

  • 一篇文章带你了解C++特殊类的设计

    发布:2022-04-04

    这篇文章主要为大家详细介绍了C++特殊类的设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助


  • C++输出上三角/下三角/菱形/杨辉三角形(实现代码)

    发布:2022-09-23

    给网友朋友们带来一篇关于C++的教程,本篇文章是对C++中输出上三角/下三角/菱形/杨辉三角形的示例代码进行了详细的分析介绍,需要的朋友参考下


  • C++类的成员初始化列表的相关问题总结

    发布:2021-05-17

    下面小编就为大家带来一篇关于C++类的成员初始化列表的相关问题。小编觉得挺


  • C++提取文件名与提取XML文件的方法详解

    发布:2022-10-10

    给网友们整理关于C++的教程,这篇文章主要为大家详细介绍了C++提取文件名与提取XML文件的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助


  • VC++文件监控之FindFirstChangeNotification

    VC++文件监控之FindFirstChangeNotification

    发布:2022-06-23

    给大家整理一篇关于VC++的教程,因为ReadDirectoryChangesW 上次测试发现不能多级目录监控,所以尝试用FindFirstChangeNotification来实施文件监控,需要的朋友可以参考下


  • C++实现教师管理系统

    发布:2022-04-16

    这篇文章主要为大家详细介绍了C++实现教师管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 解析c++中参数对象与局部对象的析构顺序的详解

    发布:2022-04-15

    本篇文章是对c++中参数对象与局部对象的析构顺序进行了详细的分析介绍,需要的朋友参考下


网友讨论