3.8.1 无法在TOUCH_START事件里终止TOUCH_MOVE

  • Creator 版本: 3.8.1

  • 重现方式:

之前cocos2d-x的onTouchBegan可以通过return false来取消响应当前触摸事件,后续就不会收到onTouchMoved和onTouchEnded事件。
但creator的事件系统好像无论如何都无法在TOUCH_START里终止当前触摸事件,就算设置了event.propagationImmediateStopped=true还是会收到onTouchMoved和onTouchEnded事件。
请问应该如何在creator实现cocos2d-x的类似功能呢?

增加一个if(thie.isTouch)进行判断啥

想要实现类似效果,只能延迟注册 TOUCH_START 后续的事件。

this.node.on(Node.EventType.TOUCH_START, this.onTouchStart, this);
...
onTouchStart(event: EventTouch) {
    if(xxxx) {
        this.node.on(Node.EventType.TOUCH_MOVE, this.onTouchMove, this);
    } else {
        this.node.off(Node.EventType.TOUCH_MOVE, this.onTouchMove, this);
    }
}