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

 更新时间:2014年09月11日 10:28:56   作者:皂荚花  
这篇文章主要介绍了Cocos2d-x UI开发之CCControlSlider控件类使用实例,本文代码中包含大量注释讲解了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++读取WAV音频文件的头部数据的实现方法

    C++读取WAV音频文件的头部数据的实现方法

    这篇文章主要介绍了C++读取WAV音频文件的头部数据的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的方法,需要的朋友可以参考下
    2017-10-10
  • C语言线程池的常见实现方式详解

    C语言线程池的常见实现方式详解

    本文介绍了如何使用 C 语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • C语言零基础彻底掌握预处理上篇

    C语言零基础彻底掌握预处理上篇

    在C语言的程序中包括各种以符号#开头的编译指令,这些指令称为预处理命令。预处理命令属于C语言编译器,而不是C语言的组成部分,通过预处理命令可扩展C语言程序设计的环境
    2022-08-08
  • C语言如何读取bmp图像

    C语言如何读取bmp图像

    这篇文章主要介绍了C语言如何读取bmp图像,BMP即bitmap,由文件头信息块、图像描述信息块、颜色表、图像数据区四部分组成,下文更多相关资料需要的小伙伴可以参考一下
    2022-04-04
  • C++中为何推荐要把基类析构函数设置成虚函数

    C++中为何推荐要把基类析构函数设置成虚函数

    这篇文章主要介绍了C++中为何推荐要把基类析构函数设置成虚函数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • C语言求矩阵主对角线元素及副对角线元素之和

    C语言求矩阵主对角线元素及副对角线元素之和

    这篇文章主要介绍了C语言求矩阵主对角线元素及副对角线元素之和实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • C++关于引用作为函数的用法

    C++关于引用作为函数的用法

    今天小编就为大家分享一篇关于C++关于引用作为函数的用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C语言驱动开发内核特征码扫描PE代码段

    C语言驱动开发内核特征码扫描PE代码段

    这篇文章主要为大家介绍了C语言驱动开发内核特征码扫描PE代码段,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • C语言通讯录管理系统课程设计

    C语言通讯录管理系统课程设计

    这篇文章主要为大家详细介绍了C语言通讯录管理系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • C++中引用(&)的用法与应用实例分析

    C++中引用(&)的用法与应用实例分析

    引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用
    2013-09-09

最新评论