Cocos2dx 创建屏蔽层 2.x

cocos2d 创建屏蔽层,修改优先级,禁止点击的事件向下传递!网上大部的资料都是 
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,-129,true);

为层添加一个addTargetedDelegate

当不使用这个层时还要在 onExit事件里删除掉。

光听起来就觉得麻烦。其实cocos2dx 里的层都有屏蔽功能 。只要修改一下属性就可以了。如下:

view source
print ?
1 this->setTouchEnabled(true);
2 this->setTouchPriority(-129);
3 this->setTouchMode(kCCTouchesOneByOne);
4 this->registerWithTouchDispatcher();

这样这个层就可以禁止向下传事件。当然 没有addTargetedDelegate ,也就不需要再去在onExit事件里删除。

PS:记得重载ccTouchBegan方法

你可能感兴趣的:(Cocos2dx 创建屏蔽层 2.x)