cocos2d-x 创建屏蔽层,修改优先级,禁止点击的事件向下传递!
网上大部的资料都是
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,-129,true);
为层添加一个addTargetedDelegate
当不使用这个层时还要在 onExit事件里删除掉。
光听起来就觉得麻烦。
其实cocos2d-x 里的层都有屏蔽功能 。
只要修改一下属性就可以了。如下:
1 | this ->setTouchEnabled( true ); |
2 | this ->setTouchPriority(- 129 ); |
3 | this ->setTouchMode(kCCTouchesOneByOne); |
4 | this ->registerWithTouchDispatcher(); |
这样这个层就可以禁止向下传事件。
当然 没有addTargetedDelegate ,也就不需要再去在onExit事件里删除。
PS:记得重载ccTouchBegan方法