Coco2d x 如何禁用到较低级别层的事件传播?
我使用cocos2d-x3.0rc1,我需要以下内容:最顶层应该获得所有事件,并且不应该将事件传播到最顶层下面的层。我不知道我怎么能做到。我试图用Coco2d x 如何禁用到较低级别层的事件传播?,coco2d-x,Coco2d X,我使用cocos2d-x3.0rc1,我需要以下内容:最顶层应该获得所有事件,并且不应该将事件传播到最顶层下面的层。我不知道我怎么能做到。我试图用setTouchEnabled和setWallowTouchs找出一些问题,但结果为空 请帮忙。这一点非常重要。我发现的唯一方法就是实现这一点: auto m_touchListenerOneByOne = EventListenerTouchOneByOne::create(); m_touchListenerOneByOne->setSwal
setTouchEnabled
和setWallowTouchs
找出一些问题,但结果为空
请帮忙。这一点非常重要。我发现的唯一方法就是实现这一点:
auto m_touchListenerOneByOne = EventListenerTouchOneByOne::create();
m_touchListenerOneByOne->setSwallowTouches(true);
m_touchListenerOneByOne->onTouchBegan = CC_CALLBACK_2(IntroView::onBoardTouchBegan, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(m_touchListenerOneByOne, this);
上面的代码是我在层的init方法中编写的。还包括:
bool IntroView::onBoardTouchBegan(Touch* touch, Event* event)
{
CCLOG("AAAAAAAAA!");
return true;
};
当您在OnBoardTouchBegined
中返回true时,您将“使用”触摸,否则,如果层不使用触摸,则这些触摸将按优先级传递到下一层