最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Cocos2d-x UI開(kāi)發(fā)之CCControlButton控件類(lèi)實(shí)例

 更新時(shí)間:2014年09月11日 10:24:05   投稿:junjie  
這篇文章主要介紹了Cocos2d-x UI開(kāi)發(fā)之CCControlButton控件類(lèi)實(shí)例,本文代碼中包含大量注釋來(lái)講解CCControlButton控件類(lèi)的使用,需要的朋友可以參考下

在應(yīng)用的開(kāi)發(fā)中,無(wú)論是Android操作系統(tǒng)還是iOS操作系統(tǒng),其開(kāi)發(fā)框架都提供了控件,包括按鍵、拖動(dòng)滑塊等,這樣提高了開(kāi)發(fā)效率。對(duì)于游戲的開(kāi)發(fā),UI的開(kāi)發(fā)同樣需要控件來(lái)提高開(kāi)發(fā)效率。對(duì)Cocos2D-x來(lái)說(shuō),從2.0版本開(kāi)始提供了很多控件類(lèi)來(lái)幫助我們更好地開(kā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
//在配置屬性->連接器->輸入的附加依賴(lài)項(xiàng)中添加libExtensions.lib
//經(jīng)過(guò)上述步驟才可以使用控件類(lèi)
bool HelloWorld::init()
{
  bool bRet = false;
  do
  {

    CC_BREAK_IF(! CCLayer::init());

		//創(chuàng)建文本類(lèi),是顯示在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");

		//控件類(lèi)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!");
}

相關(guān)文章

最新評(píng)論

威海市| 万荣县| 富阳市| 成安县| 肃北| 合山市| 沧源| 江口县| 扎赉特旗| 牡丹江市| 三穗县| 商都县| 淅川县| 建始县| 茂名市| 镇巴县| 长春市| 信阳市| 云梦县| 九江市| 阿拉善左旗| 台前县| 宁陵县| 五台县| 囊谦县| 驻马店市| 临湘市| 湖州市| 延庆县| 江达县| 东阿县| 新河县| 大余县| 凤山市| 荣成市| 平昌县| 武夷山市| 上思县| 河南省| 河东区| 齐河县|