我正在从事Cocos2d-x cpp项目。我已成功添加触摸事件以在图层中移动背景。现在,我想将CCMenuItemLabel添加到图层,但是我发现CCMenuItemLabel在触摸它时不起作用。我该如何解决?
我在图层中添加了以下功能:
virtual void ccTouchesBegan (CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesMoved (CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesEnded (CCSet *pTouches, CCEvent *pEvent);
在MyLayer :: init()函数中:
this->setTouchEnabled(true);
CCLabelTTF* test = CCLabelTTF::create("tesetdd","Arial",40);
CCMenuItemLabel* menuLabel = CCMenuItemLabel::create(test,this,menu_selector(GameWall::menuCall));
menuLabel->setPosition(ccp(winSize.width/2,winSize.height/2));
this->addChild(menuLabel,1);
更新:我已经将CCMenuItemLabel放入CCMenu。但这仍然行不通。
CCLabelTTF* test = CCLabelTTF::create("tesetdd","Arial",40);
CCMenuItemLabel* menuLabel = CCMenuItemLabel::create(test,this,menu_selector(GameWall::menuCall));
menuLabel->setPosition(ccp(winSize.width/2,winSize.height/2));
CCMenu* menu = CCMenu::create(menuLabel,NULL);
menu->setPosition(CCPointZero);
this->addChild(menu,1);
最佳答案
不要将CCMenuItems直接添加到图层。将它们添加到CCMenu并将该CCMenu添加到图层。
关于c++ - isTouchEnabled为true时CCMenuItemLabel不起作用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19949261/