关于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 ){//在里面填写内容}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值