cocos2d弹框可以理解为create一个layer:具体实现如下:
设置响应方法为Menumain::setSounds;
void Menumain::setSounds(Ref* psender){
Size visibleSize = Director::getInstance()->getVisibleSize();
auto layer = LayerColor::create(Color4B(180,180,180,180));
layer->setContentSize(Size(visibleSize.width, visibleSize.height));
layer->setAnchorPoint(Point(0, 0));
layer->setPosition(Point(0, 0));
this->addChild(layer, 1, 10);//Z轴为1,tag值为10
截断触摸向下层传递方法:
//添加监听
auto listenero = EventListenerTouchOneByOne::create();
listenero->onTouchBegan = CC_CALLBACK_2(Menumain::onTouchBegan, this);
listenero->setSwallowTouches(true);
}
bool Menumain::onTouchBegan(Touch *touch, Event *event) {
//截断触摸向下层传递
return true;
}
void Menumain::closeBack(Ref* psender) {
this->removeChild(getChildByTag(f10));//移除弹出框
}