/*
*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());
}

最新文章

  1. EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
  2. 算法(第4版)-1.5 案例研究:union-find算法
  3. NMAKE:fatal error U1077.“\..\.cl.exe” return code 0xc0000135
  4. Oracle数据库分页的三种方法
  5. hdu3416 Marriage Match IV【最短路+最大流】
  6. Keil中使用Astyel进行C语言的格式化
  7. 互联网协议(Internet Protocol Suite)
  8. [Swift]LeetCode916.单词子集 | Word Subsets
  9. 推荐几种Java任务调度的实现
  10. 对于SQL注入的理解
  11. 鼠标跟随效果 vue或者js通用
  12. 2019.03.28 bzoj3598: [Scoi2014]方伯伯的商场之旅(带权中位数+数位dp)
  13. [20180926]查询相似索引.txt
  14. 基于TFTP方式加载启动Linux内核
  15. ORACLE11g下如何利用SQL DEVELOPER连接上数据库
  16. set 集合的知识
  17. BZOJ.3425.[POI2013]Polarization(DP 多重背包 二进制优化)
  18. 平面图转对偶图&19_03_21校内训练 [Everfeel]
  19. python---补充locals()变量在变量分发中的使用
  20. 大数据 -- Spark

热门文章

  1. 算法题14 小Q歌单,牛客网,腾讯笔试题
  2. 每天一个Linux命令(62)rcp命令
  3. $Android去除系统默认的标题栏和全屏的三种方法
  4. ReactNative学习一
  5. 查看linux系统版本信息(Oracle Linux、Centos Linux、Redhat Linux、Debian、Ubuntu)
  6. 12个提问频率最高的php面试题
  7. html页面转JSP之后样式变化的问题
  8. HDU 2419 Boring Game(并查集+map)
  9. Spring初学之xml实现AOP前置通知、后置通知、返回通知、异常通知等
  10. bzoj 1087 [SCOI2005]互不侵犯King 状态压缩dp