重叠的两个button如何才能同时响应点击事件

这里正在做一个功能需要让在前面的一个button不吞掉事件, 该怎么做啊?

根据官方文档, 事件传递都是从子节点发起, 逐层往父节点抛,

这么一来的话不可能像android一样拦截父节点然后自己做事件分发了

但是有一点奇怪的是我看到 ScrollView 里面如果包含有 Button 的话 ScrollView 和 Button 却都能感知到触摸事件,

不知道能不能把这个方法也复制到我的需求上

两个Node一上一下,在上面的能收到触摸事件,在下面的做成上面的父节点,也能收到事件。不过可能要自己写Node的触摸事件监听,直接用button组件可能会吞噬事件(未测试,自己试一下)。

多谢回答,不过这个方案行不通, 因为我这边的需求来看, 背后的button不止一个. 不可能同时设置一个节点拥有N个parent

我这边的需求也说一下吧,

就是做一个像微信主界面的东西

一个 scrollview 可以上下滑动, 同时还可以左右滑动来切换 tab
scrollview 上面每一项都可以点击

这个需求用cocos creator 不知道怎么搞啊

呼叫引擎开发团队~~ 在线等…

目前我做的一个方案是将 scrollview 放在一个横向滑动的 layout 里面
然后在 scrollview 上面做一个透明蒙层做事件分发,
横向事件就分发到 layout里, 纵向事件就分发到 scrollview 上,
不过这么做以后 , scrollview里面的按钮就接收不到事件了

恳请大神提供一个解决方案~

既然已经做了透明蒙层,那就在事件监听里写一个循环,遍历所有后面的button,如果触点在某个button的范围内,就触发这个button节点的一个函数。

谁说的…… 监听事件时 useCapture 参数传 true 就能由父节点拦截了。

具体 scrollview 相关事件,1.4 也做过调整,你是用的哪个版本呢?

我用的是 cocos creator 3.13

我有两个疑问:
1 scrollview 的事件分发机制是怎么样的
2 我应该如何利用 scrollview 来做上面描述的这个需求呢

跪求@jare 指导