反馈个3.0.0的触摸层级的BUG哦。

使用CocosCreate3.0.0必然复现的。
在Canvas下创建一些UI比如武器装备界面,比如升级界面。他们的 Priority 是不一样的。他们都接受触摸事件。会发生 Priority 低的界面接受触摸的优先级反而比 Priority 高的界面要先接触。提供个简单的复现方法

当我第一次点击创建按钮的时候,此时用cc.find('Canvas’)来打印节点数。可以看到有一个
layerIndex2 层级为2 (此节点上有BlockInput组件)
layerIndex5 层级为5
在Canvas下。此时我点击屏幕的左下角的按钮“我是layerIndex2点击看看”时。会发现触摸被layerIndex5吞噬掉了。这是正常的的表现。(打开控制台有输出)

接着我再次点击创建按钮创建一个新的layerIndex2到Canvas下。此时使用cc.find('Canvas’)来打印节点树。可以看到Canvas下有
layerIndex2 层级为2 (此节点上有BlockInput组件)
layerIndex2 层级为2 (此节点上有BlockInput组件)
layerIndex5 层级为5
这三个节点。此时的我们再次点击左下角的按钮时候,会发现,居然能点击到了。而点击右上角的按钮的时候,反而点击不到了,
感觉是层级为5的节点被层级为2的节点吞噬掉了触摸。

最后附上demo
TouchTest.zip (198.9 KB)

关注一下!!!!

感谢反馈,已建立issue进行跟踪。

现在就差这个问题,项目卡主啦。请问有什么粗暴的办法,先解决这个问题吗?

BlockInputEvents这个组件能解决你问题吗?
不知道我有没有理解错, 我说下我这的方案, 只要有弹窗,弹窗的最底部都有一个满屏的节点,并加上这个组件

有解决方案吗?我们项目也碰到这个问题了。

3.1.1 版本测试没有复现问题,你们可以升级版本试试。

刚用3.1.1测试过 可以了