Cocos2d-x UI開發(fā)之CCControlButton控件類實(shí)例
在應(yīng)用的開發(fā)中,無論是Android操作系統(tǒng)還是iOS操作系統(tǒng),其開發(fā)框架都提供了控件,包括按鍵、拖動(dòng)滑塊等,這樣提高了開發(fā)效率。對(duì)于游戲的開發(fā),UI的開發(fā)同樣需要控件來提高開發(fā)效率。對(duì)Cocos2D-x來說,從2.0版本開始提供了很多控件類來幫助我們更好地開發(fā)UI。
在HelloWorld.h中加入如下倆句代碼
//需要包含如下的頭文件和命名空間的申明 #include "cocos-ext.h" using namespace cocos2d::extension;
同時(shí)加入button事件響應(yīng)的函數(shù)
void touchDown(CCObject * pSender,CCControlEvent evt);
以下是HelloWorld.cpp中的init函數(shù)
//在附加包含目錄中新增一項(xiàng)E:\cocos2d-x-2.2\cocos2d-x-2.2\extensions
//在配置屬性->連接器->輸入的附加依賴項(xiàng)中添加libExtensions.lib
//經(jīng)過上述步驟才可以使用控件類
bool HelloWorld::init()
{
bool bRet = false;
do
{
CC_BREAK_IF(! CCLayer::init());
//創(chuàng)建文本類,是顯示在button中的文本
CCLabelTTF * title = CCLabelTTF::create("music","Arial",32);
//可以設(shè)置一下title的顏色
title->setColor(ccc3(255,0,0));
//創(chuàng)建一張九妹圖片(一張支持拉伸的圖片,拉伸可以避免圖片失真,可以節(jié)省空間)
//按鈕處于正常狀態(tài)下的圖片
CCScale9Sprite * buttonNormal = CCScale9Sprite::create("buttonBackground.png");
//控件類CCControlButton,第一個(gè)參數(shù)就是按鈕顯示的文本,第二個(gè)參數(shù)就是按鈕正常狀態(tài)下的圖片
//button的大小和title的大小是相同的,這就是為什么選九妹圖片的原因了,會(huì)隨著title的大小自動(dòng)拉伸
CCControlButton * button = CCControlButton::create(title,buttonNormal);
//創(chuàng)建一張按鈕按下的背景圖片
CCScale9Sprite * spriteSelected = CCScale9Sprite::create("buttonHighlighted.png");
//設(shè)置button按下時(shí)的背景圖片,第二個(gè)參數(shù)是一個(gè)宏,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;
}
關(guān)于事件響應(yīng)函數(shù)的實(shí)現(xiàn)
void HelloWorld::touchDown(CCObject * pSender,CCControlEvent evt)
{
CCLog("touch down!");
}
上一篇:Cocos2d-x UI開發(fā)之文本類使用實(shí)例
欄 目:C語言
本文標(biāo)題:Cocos2d-x UI開發(fā)之CCControlButton控件類實(shí)例
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/3392.html
您可能感興趣的文章
- 01-10fatal error LNK1104: 無法打開文件“l(fā)ibc.lib”的解決方法
- 01-10深入探討linux下進(jìn)程的最大線程數(shù)、進(jìn)程最大數(shù)、進(jìn)程打開的文
- 01-10DHCP:解析開發(fā)板上動(dòng)態(tài)獲取ip的2種實(shí)現(xiàn)方法詳解
- 01-10ubuntu中打開終端的三種解決方法
- 01-10C語言文件操作函數(shù)大全(超詳細(xì))
- 01-10基于linux下C開發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)
- 01-10C++ 創(chuàng)建桌面快捷方式 開始菜單的實(shí)現(xiàn)代碼
- 01-10C++函數(shù)重載的深入解析
- 01-10C++ 在堆上開辟與釋放二維、三維指針詳細(xì)解析
- 01-10VC++開發(fā)中完美解決頭文件相互包含問題的方法解析


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子


