=================================.cpp文件

<pre name="code" class="cpp">bool HelloWorld::init() {
if ( !CCLayer::init() ) {
return false;
}
CCLabelTTF * label = CCLabelTTF::create("为选中文字", "MarkerFelt",25);
CCControlButton * button = CCControlButton ::create(label,CCScale9Sprite::create("button.png"));
button->setPosition(ccp(240, 170));
// 按钮选中后背景图响应的状态
button->setTitleColorForState(ccc3(255, 0, 0), CCControlStateHighlighted);
// 按钮选中后文字响应的状态
button->setTitleForState(CCString::create("选中文字"), CCControlStateHighlighted); addChild(button);
// 按下按钮事件回调
button->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchDownAction), CCControlEventTouchDown);
// 按钮在其内部拾起事件回调
button->addTargetWithActionForControlEvents(this , cccontrol_selector( HelloWorld::touchUpInsideAction), CCControlEventTouchDragEnter);
// 按钮在其外部拾起事件回调 button->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::touchUpOutsideAction), CCControlEventTouchDragOutside);
// 用于显示按钮的状态
CCLabelTTF * la = CCLabelTTF ::create(" ", "MarkerFelt",20);
la->setColor(ccc3(255, 0, 0));
la->setPosition(ccp(240, 220));
addChild(la,0,923); return true;
}
// 按下按钮事件回调
void HelloWorld:: touchDownAction(CCObject * sender , CCControlEvent * controlEvent)
{
CCLabelTTF * label = (CCLabelTTF*) this ->getChildByTag(923);
    label->setString(CCString::createWithFormat("按下")->getCString());
}
// 按钮在其内部抬起事件回调
void HelloWorld::touchUpInsideAction(CCObject * sender , CCControlEvent * controlEvent) {
CCLabelTTF * label = (CCLabelTTF*) this ->getChildByTag(923); 
    label->setString(CCString::createWithFormat("内部抬起")->getCString());
}
// 按钮在其外部抬起事件回调
void HelloWorld::touchUpOutsideAction(CCObject * sender , CCControlEvent * controlEvent) {
CCLabelTTF * label = (CCLabelTTF*) this ->getChildByTag(923); 
    label->setString(CCString::createWithFormat("外部抬起")->getCString());
}

==========================.h文件


<pre name="code" class="cpp">.h文件
#include "cocos2d.h" #include "cocos-ext.h"
using namespace cocos2d;
using namespace extension;
class HelloWorld : public cocos2d::CCLayer {
public:
virtual bool init();
static cocos2d::CCScene* scene();
void menuCloseCallback(CCObject* pSender); 
CREATE_FUNC(HelloWorld);
// 按下button事件回调
void touchDownAction(CCObject * sender , CCControlEvent * controlEvent);
// button在其内部拾起事件回调
void touchUpInsideAction(CCObject * sender , CCControlEvent * controlEvent);
// button在其外部拾起事件回调
void touchUpOutsideAction(CCObject * sender , CCControlEvent * controlEvent);
};

版权声明:本文博主原创文章,博客,未经同意不得转载。

cocos2dx CCControlButton button大事的更多相关文章

  1. lua 中处理cocos2dx 的button 事件

    lua 中处理cocos2dx 的button 事件 2014-05-08 09:44:32|  分类: lua |举报 |字号 订阅   1.引入这个类:require "GuiConst ...

  2. Cocos2dx Widget button透明区域过滤

    小伟哥 遇到一个命题: button透明区域过滤.当点击一个建筑button.花的时候不得不想一些方法把点击透明区域过滤掉. 让点击也没有效果滴啦. 開始搜索了半天才有所思路. 在网络上非常多贴代码的 ...

  3. 1cocos2dx扩展UI控制,CCControlSlider,CCScale9Sprite(九妹图。),CCControlSwitch,CCControlButton

     UI控件来自cocos2dx的扩展库.完好了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包括: #include "cocos-ext.h" USING_NS ...

  4. Cocos2dx中的四种控件及主要用法

    1.控件:即控制对象,控制按钮之类的精灵 2.主要介绍四大类控件: CCControlSlider:进度条 CCControlSwitch:开关 CCScale9Sprite:9妹图(用于缩放) CC ...

  5. Cocos2d-x之MenuItem

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  6. CCControlExtension/CCControlButton

    #ifndef __CCCONTROL_BUTTON_H__ #define __CCCONTROL_BUTTON_H__ #include "CCControl.h" #incl ...

  7. GUI之CCControlExtension

    Introduction CCControl is inspired by the UIControl API class from the UIKit library of CocoaTouch. ...

  8. cocos2dx基础篇(10) 按钮控件CCControlButton

    [3.x] (1)去掉 “CC” (2)对象类 CCObject 改为 Ref (3)按钮事件回调依旧为 cccontrol_selector ,没有使用 CC_CALLBACK_2 (4)按钮状态  ...

  9. [cocos2dx笔记015]关于cocos2dx Button三种状态说明

    经过几天的填坑,最终将现有的项目由cocos2dx 2.2.2移到cocos2dx 3.2,差点放弃3.2了,但在最后一刻,又把坑填平了. cocos2dx 2.x到3.x是一个巨大的变化,能够算是全 ...

随机推荐

  1. [Cycle.js] Hyperscript as our alternative to template languages

    Usually we use template languages like Handlebars, JSX, and Jade to create. One simple way we can cr ...

  2. UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式

    一.对UITabBar背景和icon图标的一些设置 (1)因为直接给UITabBar设置的背景颜色显示的不纯,半透明的感觉,所以,有时候我们可以直接利用纯色的图片作为背景达到想要的效果: (2)给ic ...

  3. js判断是否是数字通用写法

    function isNumber(value){ var isNumber = value.match(/^(-?\d+)(\.\d+)?$/g) !=null; if(value.substrin ...

  4. Js Json 互转

    推荐: //js对象转换为 JSON 文本 var text = '[{"id":1,"name":"C","size" ...

  5. jquery模拟checkbox效果,以及background-size在jquery中的使用。

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  6. doGet和doPost的区别

    1.doGet和doPost的区别,在什么时候调用,为什么有时doPost中套用doGet 2.提交的form     method=Post就执行DOPOST,否则执行GOGET 套用是不管meth ...

  7. C++服务器设计(四):超时管理机制设计

    前四章介绍了系统层的设计,从这一章开始进入服务层的设计. 连接断开 在常见的服务器场景中,客户端断开连接的方式为被动关闭.即作为客户端请求完服务器的服务后,选择主动关闭同服务器的连接.在服务器的角度看 ...

  8. MySQL 初学笔记 ① -- MySQL用户登录权限控制

    1. MySQL 登录 MySQL -u username -p 2. MySQL 创建用户 use mysql //进入mysql 表 INSERT INTO user (Host,User,Pas ...

  9. html标签元素分类

    元素分类 html中的标签元素大体分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1>...&l ...

  10. zepto.1.1.6.js源码中的each方法学习笔记

    each方法接受要遍历的对象和对应的回调函数作为参数,它的作用是: 1.如果要遍历的对象是类似数组的形式(以该对象的length属性值的类型是否为number类型来判断),那么就把以要遍历的对象为执行 ...