两个界面叠加到一起,上层界面(A)盖住下层界面(B)。点击A界面的非按钮部分,如果点击区域恰好处于B界面中的某个按钮范围内,就会导致B界面的按钮被触发。
请问这个问题该怎么解决?
cocos版本 v3.6
使用的界面用cocosstudio 2.8制作。
两个界面叠加到一起,上层界面(A)盖住下层界面(B)。点击A界面的非按钮部分,如果点击区域恰好处于B界面中的某个按钮范围内,就会导致B界面的按钮被触发。
请问这个问题该怎么解决?
cocos版本 v3.6
使用的界面用cocosstudio 2.8制作。
A层添加触屏监听
设置触屏不向下传递:listener->setSwallowTouches(true)
我的A和B都是用cocosstudio做的。
auto A = CSLoader::createNode(“a.csb”);
addChild(node);
这里的A是一个Node*,不知道应该怎么按照你说的处理?
可以写个A类继承Layer,把.csb层放到这个A类。
也可以把这个csb层强制转换成Layer*直接监听这个csb层的Touch
非常感谢,问题已经搞定。
用了你说的新建一个Layer的方法。
强制转换成Layer不可用,因为一个csb加载出来的是Node,转换Layer*失败了。