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

来源:互联网 发布:java线程池面试题 编辑:程序博客网 时间:2024/05/20 09:23


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());

 

 

}
0 0
原创粉丝点击