關於CCControlButton的運用

看到還是有人在問這個CCControlButton這個的如何用,剛好做項目的時候有用到,跟大家分享一下啦吐舌頭

當然首先用到CCControlButton必須導入外部的拓展函數extensions以及#include "cocos-ext.h"頭文件名(在我的另一博文有講過了)

在此我給大家分享我一段運用CCControlButton的代碼吧

我自己把定義button的封裝起來了,如下

CCControlButton * BasicLayer::getButton( const char *image,CCRect normalrect,CCRect selectedrect,CCRect deadrect )
{
	CCRect rectInsets = CCRectMake(0,0,1,1);
	CCScale9Sprite *pNormal= CCScale9Sprite::create(image,normalrect,rectInsets);
	CCScale9Sprite *pPress = CCScale9Sprite::create(image,selectedrect,rectInsets);
	CCScale9Sprite *pDead = CCScale9Sprite::create(image,deadrect,rectInsets);
	CCSize size=pNormal->getContentSize();
	CCControlButton *_button = CCControlButton::create(pNormal);
	_button->setPreferredSize(CCSizeMake(size.width, size.height));
	//	    m_button->setZoomOnTouchDown(false); //設置不現實按鈕效果
	_button->setBackgroundSpriteForState(pPress, CCControlStateHighlighted);
	_button->setBackgroundSpriteForState(pDead,CCControlEventTouchUpInside);
	_button->setZoomOnTouchDown(false);
	return _button;
}
在此調用到調用這個函數即可,以及寫回調函數如下

		CCControlButton *selectbutton2=getButton("bookselect.png",CCRectMake(0,54.67*3*RATIO,115*RATIO,54.67*RATIO),CCRectMake(115*RATIO,54.67*3*RATIO,115*RATIO,54.67*RATIO),CCRectMake(115*RATIO,54.67*3*RATIO,115*RATIO,54.67*RATIO));
		selectbutton2->setAnchorPoint(CCPointZero);
		selectbutton2->setPosition(580*RATIO+640*number*RATIO,245*RATIO);
		selectbutton2->addTargetWithActionForControlEvents(this,cccontrol_selector(SelectroleLayer::selectCallback),CCControlEventTouchDown);
		selectbutton2->addTargetWithActionForControlEvents(this,cccontrol_selector(SelectroleLayer::updateCallback),CCControlEventTouchUpInside);
		selectbutton2->addTargetWithActionForControlEvents(this,cccontrol_selector(SelectroleLayer::updateCallback),CCControlEventTouchDragExit);
		node->addChild(selectbutton2,1,(number+1)*2+50);
再者看下回調函數的例子

void SelectroleLayer::updateCallback( CCObject *pSend,CCControlEvent event ){//在裏面填寫內容}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章