场景结构
Test脚本
Test脚本挂在layout节点上面的,这样为什么点击红框处不能进行穿透点击到下面的按钮,不是调用了 event.stopPropagation(); 函数才会截断事件么
引擎版本2.4.8
我看错了,上面的触摸遮住了按钮的触摸,这不是很正常嘛
我需要实现 上面节点在接收触摸事件的同时不影响下面的触摸呀 比如我需要一个全屏的透明节点接收触摸事件来播放点击效果 这样肯定不能影响他下方按钮的正常点击
你要是想按钮可以点击,你需要把脚本挂载到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);
我用的 // @ts-ignore 直接忽略了 可以看看其他人怎么处理的
好的 我这样改了下就没问题了
(this.node as any)._touchListener.setSwallowTouches(false);
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。