cocos creator踩坑日记之同级node touch事件可以代替BlockInputEvents组件

本文介绍了在Cocos游戏中,由于节点的触摸事件注册导致的点击穿透问题。当一个节点(node1)注册了`cc.Node.EventType.TOUCH_END`事件并覆盖了同层级的另一个节点(node0)时,即使禁用了node1的`BlockInputEvents`组件,node0的点击事件仍然被屏蔽。通常,我们使用`BlockInputEvents`来防止点击穿透,但在这个情况下,节点的触摸监听器成为了决定因素。官方文档也支持了这一结论。理解这一行为对于优化游戏交互和处理UI事件至关重要。

版本2.4.4

亲测得到的结论

在同层级的两node的下  node1  node0 两个在一个父节点下      node1比node0显示高一些

node1 注册的touch事件如下

this.node.on(cc.Node.EventType.TOUCH_END, _this._touchEndEvent, this)

如果this.node注册了touch事件,并且this.node是和其他同级node是重叠的,就可以屏蔽其他同级node(这里的node0)的点击事件,起到和BlockInputEvents一样的作用

 

一般我们都是通过给node添加BlockInputEvents事件来屏蔽下层的点击触摸,防止点击穿透到下层

我把node1的 BlockInputEvents组件enabled设置false了 但是node0还不能点击,后来经过测试时node1注册了touch事件的原因

下面是cocos 官方的说明

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值