做个项目需要创建一个层,这个层能屏蔽掉层后面所有精灵、菜单的点击,然后再在这个层上添加菜单~
就是说要有一个上面有菜单的层(菜单可以被点击),并且层能够屏蔽掉所有层下面的元素,应该怎么实现?
我的代码中,实现了第1句就无法绑定node,实现了第2句listener的优先级又只能为0
求大神指点,怎么做到又能绑定node又能使得优先级<-128??
LayerColor *GameStopSprite::createNoTouchLayer(){
auto noTouchLayer = LayerColor::create(Color4B(255, 0, 0, 100));
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = ](Touch *touch, Event *event){
log("pressed.......");
return false;
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(listener, -130); //第1句
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, noTouchLayer); //第2句
return noTouchLayer;
}