cocos2dx 3.8.1 bug修复

问题:多摄像头的时候,会导致ui点击出问题
解决:Widget::onTouchBegan 里面 if (hitTest(_touchBeganPosition, camera, nullptr)) -> if (isVisitableByVisitingCamera() && hitTest(_touchBeganPosition, camera, nullptr))
问题:cocostudio的UILayout多嵌套UILayout的时候,会出现没被裁剪掉
解决:Layout::getClippingRect() 里面 遍历父节点(Layout) 改成 遍历 父节点(Node)
问题:CCArray 导致的崩溃
解决:CCArray ::createWithContentsOfFile 把autoRelease那部分代码注释掉, 重复autorelease了
问题:Layout::getClippingRect() 里面的其他问题
解决:
float finalX = worldPos.x - (scissorWidth * _anchorPoint.x); 改成 float finalX = worldPos.x;
float finalY = worldPos.y - (scissorHeight * _anchorPoint.y);改成 float finalY = worldPos.y; 因为坐标已经转换过了不需要再转换了
else 里面的 也要改成 clippingRect.origin.x = worldPos.x;
_clippingRect.origin.y = worldPos.y

finalY = parentClippingRect.origin.x; 改成finalY = parentClippingRect.origin.y
还有一些小调整的暂时不列。

markmarkmarkmark

感谢反馈!
layout问题已经在3.9版本中解决
https://github.com/cocos2d/cocos2d-x/pull/13884

其他稍后我反馈给开发组。

我看了一下,修复的不是同一个问题。 我的是 Layout下有Node, Node下有Layout, 裁剪会出问题。