Cocos2d-x UI開發(fā)之CCControlButton控件類實(shí)例
在應(yīng)用的開發(fā)中,無(wú)論是Android操作系統(tǒng)還是iOS操作系統(tǒng),其開發(fā)框架都提供了控件,包括按鍵、拖動(dòng)滑塊等,這樣提高了開發(fā)效率。對(duì)于游戲的開發(fā),UI的開發(fā)同樣需要控件來(lái)提高開發(fā)效率。對(duì)Cocos2D-x來(lái)說(shuō),從2.0版本開始提供了很多控件類來(lái)幫助我們更好地開發(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)過(guò)上述步驟才可以使用控件類 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 Schedule定時(shí)器的使用實(shí)例
- Cocos2d-x觸摸事件實(shí)例
- Cocos2d-x保存用戶游戲數(shù)據(jù)CCUserDefault類使用實(shí)例
- Cocos2d-x保存用戶游戲數(shù)據(jù)之XML文件是否存在問(wèn)題判斷方法
- Cocos2d-x中實(shí)現(xiàn)彈出對(duì)話框示例
- Cocos2d-x中使用CCScrollView來(lái)實(shí)現(xiàn)關(guān)卡選擇實(shí)例
- Cocos2d-x中調(diào)用Lua及HelloWorld.lua源碼分解
- Cocos2d-x 3.x入門教程(一):基礎(chǔ)概念
- cocos2dx骨骼動(dòng)畫Armature源碼剖析(一)
相關(guān)文章
C++中 STL list詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了C++中 STL list詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04C++實(shí)現(xiàn)LeetCode(兩個(gè)有序數(shù)組的中位數(shù))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(兩個(gè)有序數(shù)組的中位數(shù)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語(yǔ)言中if語(yǔ)句加大括號(hào)和不加大括號(hào)的區(qū)別介紹
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中if語(yǔ)句加大括號(hào)和不加大括號(hào)的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12VC6.0如何創(chuàng)建以及調(diào)用動(dòng)態(tài)鏈接庫(kù)實(shí)例詳解
作為客戶與后臺(tái)的中介,為了更好的調(diào)節(jié)兩方的關(guān)系,我明智滴選擇了webservice以及動(dòng)態(tài)鏈接庫(kù)。在與客戶c++使動(dòng)態(tài)鏈接庫(kù)方式,而與后臺(tái)java,使用webservice來(lái)交流溝通2013-01-01C語(yǔ)言實(shí)現(xiàn)全排列算法模板的方法
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)全排列算法模板的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02一個(gè)string類的簡(jiǎn)單實(shí)現(xiàn)案例
下面小編就為大家?guī)?lái)一篇一個(gè)string類的簡(jiǎn)單實(shí)現(xiàn)案例。小編覺(jué)得挺不錯(cuò)的現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01