/*
*bool hasMoved(); 这里获取的不是开关是否正在被用户拨动,而是开关最终的状态是由用户手动拨动开关进行的,
*还是用户点击开关进行的状态更改
*/ CCControlSwitch* pSwitch = CCControlSwitch::create(
CCSprite::create("switch-mask.png"),
CCSprite::create("switch-on.png"),
CCSprite::create("switch-off.png"),
CCSprite::create("switch-thumb.png"),
CCLabelTTF::create("On","Arial-BoldMT",),
CCLabelTTF::create("Off","Arial-BoldMT",)
);
pSwitch->setPosition(ccp(,));
pSwitch->setOn(true);
pSwitch->setEnabled(true);
CCLog("是否打开状态:%i", pSwitch->isOn());
CCLog("是否手动拖动的开关:%i", pSwitch->hasMoved());
addChild(pSwitch);
CCControlSlider* slider = CCControlSlider::create(
"sliderTrack.png","sliderProgress.png","sliderThumb.png");
slider->setPosition(ccp(,));
slider->setMaximumValue();
slider->setMinimumValue();
addChild(slider,,);
slider->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::changeValue),CCControlEventValueChanged); CCLabelTTF* ttf = CCLabelTTF::create("","Helvetica",);
ttf->setPosition(ccp(,));
ttf->setString(CCString::createWithFormat("current value = %.02f", slider->getValue())->getCString());
addChild(ttf,,); void HelloWorld::changeValue(CCObject *sender, CCControlEvent controlEvent)
{
CCControlSlider* slider = (CCControlSlider*)this->getChildByTag();
CCLabelTTF* ttf = (CCLabelTTF*)getChildByTag();
ttf->setString(CCString::createWithFormat("current value = %.02f", slider->getValue())->getCString());
}
//init()
CCLabelTTF *titleButton = CCLabelTTF::create("NO", "Marker Felt", );
CCControlButton * btn = CCControlButton::create(titleButton,CCScale9Sprite::create("button.png"));
btn->setPosition(ccp(,)); //按钮被选中后背景图响应的状态
btn->setBackgroundSpriteForState(CCScale9Sprite::create("buttonHighlighted.png"), CCControlStateHighlighted);
//按钮被选中后文字颜色响应的状态
btn->setTitleColorForState(ccc3(, , ), CCControlStateHighlighted);
//按钮被选中后文字响应的状态
btn->setTitleForState(CCString::create("YES"), CCControlStateHighlighted);
addChild(btn); //按钮按下事件回调
btn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchDownAction), CCControlEventTouchDown);
//按钮在其内部抬起事件回调
btn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchUpInsideAction), CCControlEventTouchUpInside);
//按钮在其外部抬起事件回调
btn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchUpOutsideAction), CCControlEventTouchUpOutside); //用于显示按钮状态
CCLabelTTF *titleButtonState = CCLabelTTF::create("", "Marker Felt", );
addChild(titleButtonState,,);
titleButtonState->setPosition(ccp(,)); void touchDownAction(CCObject* sender, CCControlEvent controlEvent);
void touchUpInsideAction(CCObject* sender, CCControlEvent controlEvent);
void touchUpOutsideAction(CCObject* sender, CCControlEvent controlEvent); void HelloWorld::touchDownAction(CCObject *senderz, CCControlEvent controlEvent)
{
CCLabelTTF *m_pDisplayValueLabel = (CCLabelTTF*)this->getChildByTag();
m_pDisplayValueLabel->setString(CCString::createWithFormat("Push")->getCString());
}
void HelloWorld::touchUpInsideAction(CCObject *sender, CCControlEvent controlEvent)
{
CCLabelTTF *m_pDisplayValueLabel = (CCLabelTTF*)this->getChildByTag();
m_pDisplayValueLabel->setString(CCString::createWithFormat("Inner Up")->getCString());
}
void HelloWorld::touchUpOutsideAction(CCObject *sender, CCControlEvent controlEvent){
CCLabelTTF *m_pDisplayValueLabel = (CCLabelTTF*)this->getChildByTag();
m_pDisplayValueLabel->setString(CCString::createWithFormat("Outer Up")->getCString());
}

CCControlSwitch 、CCControlSlider、CCControlButton的更多相关文章

  1. Cocos2d-x学习笔记(12)(CCControlSwitch开关、CCControlSlider滑动条、CCControlButtonbutton)

    CCEditBox.CCControlSwitch.CCControlSlider.CCControlColourPicker.CCControlButton等都是Cocos2d-x 2.x的最新UI ...

  2. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  3. vmware里面的名词 vSphere、vCenter Server、ESXI、vSphere Client

    vmware里面的名词 vSphere.vCenter Server.ESXI.vSphere Client vSphere.vCenter Server.ESXI.vSphere Client VS ...

  4. 深入理解DIP、IoC、DI以及IoC容器

    摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...

  5. 从Script到Code Blocks、Code Behind到MVC、MVP、MVVM

    刚过去的周五(3-14)例行地主持了技术会议,主题正好是<UI层的设计模式——从Script.Code Behind到MVC.MVP.MVVM>,是前一天晚上才定的,中午花了半小时准备了下 ...

  6. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  7. HTML 获取屏幕、浏览器、页面的高度宽度

    本篇主要介绍Web环境中屏幕.浏览器及页面的高度.宽度信息. 目录 1. 介绍:介绍页面的容器(屏幕.浏览器及页面).物理尺寸与分辨率.展示等内容. 2. 屏幕信息:介绍屏幕尺寸信息:如:屏幕.软件可 ...

  8. EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解

    前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...

  9. Android调用微信登陆、分享、支付

    前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...

随机推荐

  1. C++语言的I/o使用方法详解

    构造器 语法: fstream( const char *filename, openmode mode ); ifstream( const char *filename, openmode mod ...

  2. 深度学习3--caffe的安装(only CPU)

    1. 本来按照视频走的,但是在cmake的时候报错,然后参考了这篇文章,稀里糊涂的就好了,总结就是把“视频/本文”说的依赖都安装上,就可以了,先安装opencv,再安装caffe第三方依赖 在安装ca ...

  3. eclipse连接SqlServer2008(被它搞得惨兮兮)

    建民大叔告诉我要考试做一个系统要求连接SqlServer2008,于是我便开始了“炼狱”,人家连接起来一路绿灯,我却一路红灯所以决定把它记录下来,给后来人提供方便. 第一个红灯: 启动服务后利用cmd ...

  4. Oracle表约束

    约束的概述: 约束是在表中定义的用于维护数据库完整性的一些规则 (1).主键约束 不能为空也不能重复 在一个表中只能定义一个主键约束 Oracle会在主键上建立一个唯一索引,可以指定唯一索引的存储位置 ...

  5. this 机制的四种规则

    江湖人称,谁调用 this,this 就指向谁. 那么 this 到底绑定或者引用的是哪个对象环境呢,以下便是四种规则 1. 默认绑定全局变量 function fn() { console.log( ...

  6. 跨平台移动开发_PhoneGap 使用Accelerometer 加速器

    使用Accelerometer 加速器效果图 示例代码 <!DOCTYPE html> <html> <head> <title> Cude Phone ...

  7. php数组函数-array_diff()

    array_diff()函数返回两个数组的差集数组.该数组包括了所有在被比较数组中,但是不在任何其他参数数组中的键值在返回数组中,键名保持不变. array_diff(array1,array2,ar ...

  8. 三 ip dns等配置

    一IP.端口.协议基本概念 ip的简单概念 互联网上的计算机,都会有一个唯一的32位的地址,ip地址 我们访问服务器,就必须通过ip地址 局域网里也有预留的ip地址  192/10/172.居于王的i ...

  9. Python中的条件选择和循环语句

    一.条件选择语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: if condition: block elif condition: block ... ...

  10. Python 元组Tuple概念和操作

    # 元组概念:有序的不可变的元素集合 # 和列表的区别就是, 元组元素不能修改 # 定义 # 一个元素的写法 # (666,) t = (666,) #正确写法 t = (666) #错误写法,括号当 ...