Cocos2d-X CCScrollView点击非可视区域BUG及修复

 应该不少人碰到点击CCScrollView非可视区域,仍然响应touch的BUG。

 

本人解决方法如下:

 

1、在CCScrollView::ccTouchBegan中检测touch是否在ScrollView可视区域内,遍历自身所有子节点设置touchEnabled;


Cocos2d-X CCScrollView点击非可视区域BUG及修复_第1张图片
 


Cocos2d-X CCScrollView点击非可视区域BUG及修复_第2张图片
 

2、检查CCX框架和你项目代码中所有继承CCLayer的类,在ccTouchBegan中增加对touchEnabled的判断即可完事。

 

例如:修复CCX框架中CCMenu一半位于CCScrollView可视区域外仍可点击的BUG:


Cocos2d-X CCScrollView点击非可视区域BUG及修复_第3张图片
 

实在是不想再吐槽CCX的层级机制了,蛋哗哗的碎了一地。。。

你可能感兴趣的:(scrollview)