/*
*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. django用户信息扩展

    Django封装了好多东西,拿来用就可以了,帮我们封装类用户的登录认证,用户的表 所以Django自带有用户表,当扩展用户表后一些表就会被替换 用户认证相关的    功能放在django.contri ...

  2. Django~1

    一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有 ...

  3. 初学JQuery相关知识点

    [简单的JQuery]注册事件的函数. $(document).ready(function(){}) [JQuery提供的函数]$.map(array,fn) 对数组array中每个元素调用fn函数 ...

  4. arcgis flex aqi 3大util

    第一:webMapUtil 主要用来根据id或者json创建map,跟webmap相关 第二:GeometryUtil 主要用来计算面积,长度,还有判断是否相交等,跟geometry相关. 第三:We ...

  5. 【leetcode刷题笔记】Number of 1 Bits

    Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also know ...

  6. Python编程-多进程一

    一.python并发编程之多进程 1.multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在pyth ...

  7. 以太坊钱包Geth使用命令

    一.启动以太坊钱包Geth 打开一个控制台,执行同步区块命令 #同步测试链geth --fast --cache=512 --rpc --rpcapi personal,db,eth,net,web3 ...

  8. 大话设计模式之PHP篇 - 单例模式

    在编写PHP代码的时候,经常使用new关键字实例化一个对象,比如 <?php Class Database { } $db = new Database; 这是最常规的实例化操作方法,像数据库操 ...

  9. java-jpa-criteriaBuilder使用入门

    项目中使用jpa ,第一次见查询起来一脸蒙,这就去查下jpa查询的方式,和概念. jpa 元模型 criteria 查询 CriteriaBuilder 安全查询创建工厂 CriteriaQuery ...

  10. Windows 端口和所提供的服务

    一 .端口大全 端口:0 服务:Reserved 说明:通常用于分析操作系统.这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果.一种典型的扫描,使 ...