cocos2d-x CCmenuSpriteItem 用getChildByTag()获取;

cocos2d-x CCmenuSpriteItem 用getChildByTag()获取;,第1张

概述#include "BoardBg.h"#define PEN_Tag_1 111#define PEN_Tag_2 222#define PEN_Tag_3 333bool BoardBg::_isTouch1 = true;bool BoardBg::_isTouch2 = true;bool BoardBg::_isTouch3 = true;CCScene * B
#include "BoardBg.h"#define PEN_Tag_1 111#define PEN_Tag_2 222#define PEN_Tag_3 333bool BoardBg::_istouch1 = true;bool BoardBg::_istouch2 = true;bool BoardBg::_istouch3 = true;CCScene * BoardBg::scene(){	CCScene * s = CCScene::create();	cclayer * layer = BoardBg::create();	s->addChild(layer);	return s;}bool BoardBg::init(){	bool bRet = false;	do 	{		CC_BREAK_IF(!cclayer::init());		//点击后pen移动		_PenMoveX = 5;		_PenMoveY = 10;		addBoardBg();//背景;		addPenspr();//添加pen;		_drawPen = drawPaint::create();		addChild(_drawPen,100);		bRet = true;	} while (0);	return bRet;}voID BoardBg::addBoardBg()//添加背景;{	const char * mainBgname = "mainBg5.png";	CCSize winSize = CCDirector::sharedDirector()->getWinSize();	_boradBg = CCSprite::create(mainBgname);	_boradBg->setAnchorPoint(ccp(0,0));	_boradBg->setScale(winSize.wIDth / _boradBg->getContentSize().wIDth);//屏幕适配;	addChild(_boradBg);	return;}voID BoardBg::addPenspr()//添加pen;{	const char * penname = "pen.png";	_pen1 = CCSprite::create(penname);	_pen2 = CCSprite::create(penname);	_pen3 = CCSprite::create(penname);	_penSize = _pen1->getContentSize();	//_pen1->setposition(ccp(_penSize.wIDth / 2,_penSize.height / 2));	//_pen2->setposition(ccp(_penSize.wIDth / 2 * 2 + 10,_penSize.height / 2));	//_pen3->setposition(ccp(_penSize.wIDth / 2 * 3 + 10,_penSize.height / 2));//按钮	pen1Item = CcmenuItemSprite::create(_pen1,_pen1,this,menu_selector(BoardBg::PenCallBack1));	pen1Item->setposition(ccp(_penSize.wIDth/2,_penSize.height/2));	pen1Item->setTag(PEN_Tag_1);	pen2Item = CcmenuItemSprite::create(_pen2,_pen2,menu_selector(BoardBg::PenCallBack2));	pen2Item->setposition(ccp((_penSize.wIDth / 2) * 2 + 20,_penSize.height / 2));	pen2Item->setTag(PEN_Tag_2);	pen3Item = CcmenuItemSprite::create(_pen3,_pen3,menu_selector(BoardBg::PenCallBack3));	pen3Item->setposition(ccp((_penSize.wIDth / 2) * 3 + 40,_penSize.height / 2));	pen3Item->setTag(PEN_Tag_3);	//menu	Ccmenu * menu = Ccmenu::create(pen1Item,pen2Item,pen3Item,NulL);	menu->setAnchorPoint(ccp(0,0));	menu->setposition(ccp(20,0));	addChild(menu);}voID BoardBg::RestorePen1(){	pen1Item->setposition(ccp(_penSize.wIDth / 2,_penSize.height / 2));	_istouch1 = true;}voID BoardBg::RestorePen2(){	pen2Item->setposition(ccp((_penSize.wIDth / 2) * 2 + 20,_penSize.height / 2));	_istouch2 = true;}voID BoardBg::RestorePen3(){	pen3Item->setposition(ccp((_penSize.wIDth / 2) * 3 + 40,_penSize.height / 2));	_istouch3 = true;}//回调,getTag获取voID BoardBg::PenCallBack1(CCObject* sender){	CCSprite * spr = (CCSprite*)sender;	spr->getChildByTag(PEN_Tag_1);	if (_istouch1)	{		_drawPen->_istouchDraw = true;		spr->setposition(ccp(spr->getpositionX() - _PenMoveX,spr->getpositionY() + _PenMoveY));		_drawPen->_penBold = 5;			RestorePen2();		RestorePen3();	}	if (!_istouch1)	{		_drawPen->_istouchDraw = false;		spr->setposition(ccp(spr->getpositionX() + _PenMoveX,spr->getpositionY() - _PenMoveY));	}	_istouch1 = !_istouch1;}voID BoardBg::PenCallBack2(CCObject* sender){	CCSprite * spr = (CCSprite*)sender;	spr->getChildByTag(PEN_Tag_2);	if (_istouch2)	{		_drawPen->_istouchDraw = true;		spr->setposition(ccp(spr->getpositionX() - _PenMoveX,spr->getpositionY() + _PenMoveY));		_drawPen->_penBold = 7;		RestorePen1();		RestorePen3();	}	if (!_istouch2)	{		_drawPen->_istouchDraw = false;		spr->setposition(ccp(spr->getpositionX() + _PenMoveX,spr->getpositionY() - _PenMoveY));	}	_istouch2 = !_istouch2;}voID BoardBg::PenCallBack3(CCObject* sender){	CCSprite * spr = (CCSprite*)sender;	spr->getChildByTag(PEN_Tag_3);	if (_istouch3)	{		_drawPen->_istouchDraw = true;		spr->setposition(ccp(spr->getpositionX() - _PenMoveX,spr->getpositionY() + _PenMoveY));		_drawPen->_penBold = 9;		RestorePen1();		RestorePen2();	}	else	{		_drawPen->_istouchDraw = false;		spr->setposition(ccp(spr->getpositionX() + _PenMoveX,spr->getpositionY() - _PenMoveY));	}	_istouch3 = !_istouch3;}
总结

以上是内存溢出为你收集整理的cocos2d-x CCmenuSpriteItem 用getChildByTag()获取;全部内容,希望文章能够帮你解决cocos2d-x CCmenuSpriteItem 用getChildByTag()获取;所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1027556.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存