Cocos2d-x UI开发之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());
 }
(0)

相关推荐

  • Cocos2d-x UI开发之文本类使用实例

    cocos2d-x中有三个文本类,用来在屏幕上显示文字,这三个类分别是CCLabelTTF.CCLabelBMFont.CCLabelAtlas.这三个类都继承自抽象类CCLabelProtocol,所以具有了setString()改变文本信息的方法和getString()获得文本信息的方法. bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); CCSize size = CCSize

  • Cocos2d-x UI开发之CCControlButton控件类实例

    在应用的开发中,无论是Android操作系统还是iOS操作系统,其开发框架都提供了控件,包括按键.拖动滑块等,这样提高了开发效率.对于游戏的开发,UI的开发同样需要控件来提高开发效率.对Cocos2D-x来说,从2.0版本开始提供了很多控件类来帮助我们更好地开发UI. 在HelloWorld.h中加入如下俩句代码 //需要包含如下的头文件和命名空间的申明 #include "cocos-ext.h" using namespace cocos2d::extension; 同时加入but

  • Cocos2d-x UI开发之场景切换代码实例

    cocos2d-x中的场景切换是通过导演类调用相应的方法完成的,可以通过CCDirector::sharedDirector()->replaceScene()方法切换场景,参数是要切换的新场景,这种方法会释放掉旧的场景.通过pushScene()切换则是将旧的场景压入到栈中,以便通过popScene()函数出栈,继续运行原场景.刚开始程序启动的时候通过runWithScene()运行一个新的场景.下面通过代码来说明.单击下图可以查看效果. 这次代码一共建立了俩个场景,一个是原来的hellowo

  • Cocos2d-x UI开发之菜单类使用实例

    菜单是我们在开发中经常用到的元素,cocos2d-x中的菜单基本上是分装了文本类和精灵类,代码注释有详细的说明,看代码吧! bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); CCLabelTTF * ttf = CCLabelTTF::create("cocos2d","Arial",24); //没有设置坐标,默认放到CCMenu层的中间,第二个参数是

  • Cocos2d-x UI开发之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

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

    CCControlPotentiometer是电位计按钮,和CCControlSlider的用法很相似.关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton. bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(!CCLayer::init()); //CCControlPotentiometer参数是底座,进度条,控制按钮图片资源 CCControlPotentiometer * pote

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

    CCControlSwitch是开关按钮,关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton.以下的演示中出现的key和value代表什么意思,知道的人说一声. bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //参数就不说了,看一下你的资源文件就明白了 CCControlSwitch * controlSwitch = CCControlSwi

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

    CCControlColourPicker实现颜色拾取器的功能.关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton.下边来看源代码. bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //设置一个显示字符串的label CCLabelTTF * title = CCLabelTTF::create("#128128128","A

  • android应用开发之spinner控件的简单使用

    Android的控件有很多种,其中就有一个Spinner的控件,这个控件其实就是一个下拉显示列表.Spinner是位于 android.widget包下的,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器.Spinner是View类的一个子类. 先看spinner的效果图: 代码: MainActivity package com.mecury.spinnertest; import java.util.ArrayList; import a

  • Android编程开发之TextView控件用法(2种方法)

    本文实例讲述了Android编程开发之TextView控件用法.分享给大家供大家参考,具体如下: 这里我们会讲讲常用控件的使用. 在今后的大多数章节里面也是一样的,我们会具体的说说某些控件的用法.因为只要把这些控件组合在一起它们就是一个应用了. 好吧我们直接看看这个控件怎么用. 细心的同学会发现,其实这个控件的内容是定义在values文件夹里面的strings.xml中的. 那么我们只需要给它加一段代码: 复制代码 代码如下: <string name="test">Wel

  • Android开发之TextView控件用法实例总结

    本文实例总结了Android开发之TextView控件用法.分享给大家供大家参考,具体如下: TextView控件可以向用户展现文本信息,我们可以设置该文本信息是否能编辑 1.TextView基本使用 在程序中创建TextView对象 在xml文件中布局使用 2.New Android Project-> Project name:TextView Build Target:Android 2.2 Application name:TextViewDemo Package name:com.b5

  • Android编程开发之Spinner控件用法实例分析

    本文实例讲述了Android编程开发之Spinner控件用法.分享给大家供大家参考,具体如下: 下拉列表 Spinner,Spinner是一个每次只能选择所有项的一个项的控件.它的项来自于与之相关联的适配器中. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. 一.使用数组作为数据源 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/ap

  • Android开发之TimePicker控件用法实例详解

    本文实例分析了Android开发之TimePicker控件用法.分享给大家供大家参考,具体如下: 新建项目: New Android Project-> Project name:HelloSpinner Build Target:Android 2.2 Application name:HelloSpinner Package name:com.b510 Create Activity:MainActivity Min SDK Version:9 Finish 运行效果: 如果: return

随机推荐