Coco2d x 如何禁用到较低级别层的事件传播?

Coco2d x 如何禁用到较低级别层的事件传播?,coco2d-x,Coco2d X,我使用cocos2d-x3.0rc1,我需要以下内容:最顶层应该获得所有事件,并且不应该将事件传播到最顶层下面的层。我不知道我怎么能做到。我试图用setTouchEnabled和setWallowTouchs找出一些问题,但结果为空 请帮忙。这一点非常重要。我发现的唯一方法就是实现这一点: auto m_touchListenerOneByOne = EventListenerTouchOneByOne::create(); m_touchListenerOneByOne->setSwal

我使用cocos2d-x3.0rc1,我需要以下内容:最顶层应该获得所有事件,并且不应该将事件传播到最顶层下面的层。我不知道我怎么能做到。我试图用
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时,您将“使用”触摸,否则,如果层不使用触摸,则这些触摸将按优先级传递到下一层