【小白问题】如何让Layer下面的按钮无效

如题,请教各位一下,我在当前Layer上添加了一个新Layer,但是被覆盖在下面的按钮还是会被点击到,有没有什么直接的方法,让下面的东西不会被点击呢?

问题太简单吗?请各位指教一下啊 是setSwallowsTouches()这个方法吗?

事件优先级

大概以下CPP代码,自己整理下:
listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = CC_CALLBACK_2(PopupLayer::onTouchBegan, this);
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(
listener,layer)

要看你的引擎是2.x还是3.x的了,还要看你是用的layer本身的touch事件,还是用的menu,如果是2.x,就是各种设置优先级了,如果是3.x会方便许多,如果你了解as3你会发现3.x的事件机制有点像as3,无非就是要使用addEventListenerWithSceneGraphPriority,具体在testcpp里自己看把

多谢回复,代码看明白了,晚上回去试试。

多谢回复,用的是3.x 新建的Layer中有一个按钮,所以应该算是Menu的。AS3 学过一点就不用了,现在重头学习Cocos2d-x中。。。

我添加的Layer上只有一个按钮是可点击的,其他部分也没有交互,那么我是不是需要在Layer上添加一个Touch的监听,里面什么都不写,然后把这个事件的优先级放到最高?这样这个Layer下面的按钮就无效了?

多谢回复,回答的简单明了

多谢按照各位的指点,采用我在7楼的方法已经完美解决了。