9、Cocos2d-X 游戏编程之------CCControlButton的使用



9CCControlButton的实现

boolHelloWorld::init()

 

{

  

  

 if ( !CCLayer::init() )

   

{

       

return false;

   

}

   

CCLabelTTF*titleButton = CCLabelTTF::create("未选中文字", "Marker Felt", 25);

   

CCControlButton *btn  =CCControlButton::create(titleButton,CCScale9Sprite::create("button.png"));

  

 btn->setPosition(ccp(240,170));

   

   

//按钮被选中后背景图响应的状态

   

btn->setBackgroundSpriteForState(CCScale9Sprite::create("buttonHighlighted.png"),CCControlStateHighlighted);

   

//按钮被选中后文字颜色响应的状态

  

btn->setTitleColorForState(ccc3(255,0, 0), CCControlStateHighlighted);

   

//按钮被选中后文字响应的状态

   

btn->setTitleForState(CCString::create("选中文字"), CCControlStateHighlighted);

   

addChild(btn);

   

   

//按钮按下事件回调

   

btn->addTargetWithActionForControlEvent(this,cccontrol_selector(HelloWorld::touchDownAction), CCControlEventTouchDown);

   

//按钮在其内部抬起事件回调

  

 btn->addTargetWithActionForControlEvent(this,cccontrol_selector(HelloWorld::touchUpInsideAction),CCControlEventTouchUpInside);

   

//按钮在其外部抬起事件回调

  

 btn->addTargetWithActionForControlEvent(this,cccontrol_selector(HelloWorld::touchUpOutsideAction),CCControlEventTouchUpOutside);

   

   

//用于显示按钮状态

   

CCLabelTTF*titleButtonState = CCLabelTTF::create("", "Marker Felt",25);

  

 addChild(titleButtonState,0,923);

   

titleButtonState->setPosition(ccp(240,220));

  

 return true;

 

 

}

 

voidHelloWorld::touchDownAction(CCObject *senderz, CCControlEvent controlEvent)

 

{

   

CCLabelTTF*m_pDisplayValueLabel = (CCLabelTTF*)this->getChildByTag(923);

  

 m_pDisplayValueLabel->setString(CCString::createWithFormat("按下")->getCString());

 

}

 

voidHelloWorld::touchUpInsideAction(CCObject *sender, CCControlEvent controlEvent)

 

{

  

 CCLabelTTF *m_pDisplayValueLabel =(CCLabelTTF*)this->getChildByTag(923);

   

m_pDisplayValueLabel->setString(CCString::createWithFormat("内部抬起")->getCString());

 

}

 

voidHelloWorld::touchUpOutsideAction(CCObject *sender, CCControlEvent controlEvent)

{

   

CCLabelTTF*m_pDisplayValueLabel = (CCLabelTTF*)this->getChildByTag(923);

   

m_pDisplayValueLabel->setString(CCString::createWithFormat("外部抬起")->getCString());

 

 

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值