使用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)

