creater触摸事件不冒泡

场景结构

Test脚本

Test脚本挂在layout节点上面的,这样为什么点击红框处不能进行穿透点击到下面的按钮,不是调用了 event.stopPropagation(); 函数才会截断事件么

引擎版本2.4.8

layout属性

我看错了,上面的触摸遮住了按钮的触摸,这不是很正常嘛

我需要实现 上面节点在接收触摸事件的同时不影响下面的触摸呀 比如我需要一个全屏的透明节点接收触摸事件来播放点击效果 这样肯定不能影响他下方按钮的正常点击

你要是想按钮可以点击,你需要把脚本挂载到Canvas上,就可以点击到按钮了。
你自己理解,这个触摸是针对谁的,针对谁优先级就会不同。

你要的是这样的

const { ccclass, property } = cc._decorator;

@ccclass
export class TransmitTouch extends cc.Component {

@property([cc.Component.EventHandler])
protected clickEvents: cc.Component.EventHandler[] = new Array();

onLoad(): void {
    this.node.on(cc.Node.EventType.TOUCH_START, (event) => {
        if (this.clickEvents == null) {
            return;
        }
        cc.Component.EventHandler.emitEvents(this.clickEvents, event);
    });
    this.node._touchListener.setSwallowTouches(false);
}

}

这个就是 可以不影响 下面组件继续

node_2._touchListener.setSwallowTouches(false);

@jsroads @ocline
确实可以实现了 就是vscode里面会报个错 官方没有在creator.d.ts里面导出这个变量
image

我用的 // @ts-ignore 直接忽略了 可以看看其他人怎么处理的

好的 我这样改了下就没问题了
(this.node as any)._touchListener.setSwallowTouches(false);

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。