Cocos Creator 事件穿透
前言
Cocos Creator 中可以通过挂载 BlockInputEvents
组件来防止事件穿透,但是如果我们想让它能够事件穿透,官方的文档只字不提。
这个需求也是有场景的,比如我们有两个元素,A和B,B会浮动到A上,从而导致click被B给挡住了,从而A事件无法触发了,这种场景在打地鼠游戏中是常见的。
解决办法
我们需要给挡住的那个元素添加允许事件穿透,用上面的例子,那就是需要给B节点添加一个事件穿透。
import { _decorator, Component, Node } from "cc";
const { ccclass, property } = _decorator;
@ccclass('B')
export class B extends Component {
onLoad () {
this.node.on(Node.EventType.MOUSE_DOWN, this.onMouseDown, this);
}
onMouseDown(event: EventMouse) {
event.preventSwallow = true; //设置为true
}
}
给event
设置一个属性为true
就行了,这是目前可以使用的办法,指不定官方啥时候又改了,且用且珍惜。
参考
分类:
Cocos Creator
标签:
Cocos Creator事件穿透
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
全部评论 2
neral
FireFox Windows 10木灵鱼儿
FireFox Windows 10