程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> Cocos2d-x UI開辟之CCControlButton控件類實例

Cocos2d-x UI開辟之CCControlButton控件類實例

編輯:關於C++

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!");
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved