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方法
本文介绍了一种在Cocos2d-x中简单实现屏蔽层的方法,通过设置层的触摸属性,无需使用addTargetedDelegate即可阻止触摸事件向下传递,简化了代码并提高了效率。
530

被折叠的 条评论
为什么被折叠?



