Cocos2d-x UI開辟之CCControlButton控件類實例。本站提示廣大學習愛好者:(Cocos2d-x UI開辟之CCControlButton控件類實例)文章只能為提供參考,不一定能成為您想要的結果。以下是Cocos2d-x UI開辟之CCControlButton控件類實例正文
在運用的開辟中,不管是Android操作體系照樣iOS操作體系,其開辟框架都供給了控件,包含按鍵、拖動滑塊等,如許進步了開辟效力。關於游戲的開辟,UI的開辟異樣須要控件來進步開辟效力。對Cocos2D-x來講,從2.0版本開端供給了許多控件類來贊助我們更好地開辟UI。
在HelloWorld.h中參加以下倆句代碼
//須要包括以下的頭文件和定名空間的聲名 #include "cocos-ext.h" using namespace cocos2d::extension;
同時參加button事宜呼應的函數
void touchDown(CCObject * pSender,CCControlEvent evt);
以下是HelloWorld.cpp中的init函數
//在附加包括目次中新增一項E:\cocos2d-x-2.2\cocos2d-x-2.2\extensions
//在設置裝備擺設屬性->銜接器->輸出的附加依附項中添加libExtensions.lib
//經由上述步調才可使用控件類
bool HelloWorld::init()
{
bool bRet = false;
do
{
CC_BREAK_IF(! CCLayer::init());
//創立文本類,是顯示在button中的文本
CCLabelTTF * title = CCLabelTTF::create("music","Arial",32);
//可以設置一下title的色彩
title->setColor(ccc3(255,0,0));
//創立一張九妹圖片(一張支撐拉伸的圖片,拉伸可以免圖片掉真,可以節儉空間)
//按鈕處於正常狀況下的圖片
CCScale9Sprite * buttonNormal = CCScale9Sprite::create("buttonBackground.png");
//控件類CCControlButton,第一個參數就是按鈕顯示的文本,第二個參數就是按鈕正常狀況下的圖片
//button的年夜小和title的年夜小是雷同的,這就是為何選九妹圖片的緣由了,會跟著title的年夜小主動拉伸
CCControlButton * button = CCControlButton::create(title,buttonNormal);
//創立一張按鈕按下的配景圖片
CCScale9Sprite * spriteSelected = CCScale9Sprite::create("buttonHighlighted.png");
//設置button按下時的配景圖片,第二個參數是一個宏,f12檢查其他的宏
button->setBackgroundSpriteForState(spriteSelected,CCControlStateSelected);
//修正title的色彩
button->setTitleColorForState(ccc3(0,255,255), CCControlStateHighlighted);
button->setPosition(ccp(240,160));
this->addChild(button);
//為按鈕添加事宜
button->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::touchDown),
CCControlEventTouchDown);
bRet = true;
} while (0);
return bRet;
}
關於事宜呼應函數的完成
void HelloWorld::touchDown(CCObject * pSender,CCControlEvent evt)
{
CCLog("touch down!");
}