gpt4 book ai didi

c++ - 当 isTouchEnabled 为真时,CCMenuItemLabel 不起作用?

转载 作者:行者123 更新时间:2023-11-28 07:17:49 24 4
gpt4 key购买 nike

我正在处理我的 Cocos2d-x cpp 项目。我已成功添加触摸事件以移动图层中的背景。现在我想将 CCMenuItemLabel 添加到 Layer 中,但我发现当我触摸它时 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 为真时,CCMenuItemLabel 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19949261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com