touch事件点击没反应,但touchmove可以移动,touch事件和button事件冲突?

  • Creator 版本:2.4.8

  • 目标平台:小米手机没问题,谷歌和三星手机会有问题

  • 重现方式:点击图片没反应

  • 首个报错: 无报错

  • 之前哪个版本是正常的:

  • 手机型号:小米手机没问题,谷歌和三星手机会有问题

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:100%

之前给同一个节点注册了触摸事件并且挂了按钮组件添加了点击事件,主要是想实现,点击切换图片,并且通过触摸事件拖动这张图,打出包来在我的小米手机上没问题,但公司其他谷歌手机或三星手机,点击图片没反应,不过可以拖动。

后来我把按钮组件移除了试试,切换图片放在touchend的方法中,结果还是不行,是不是手机不兼容啊 :sob:

有没有大佬能救救我啊 :sob: :sob: :sob:

代码如下:
this.node.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
this.node.on(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove, this);
this.node.on(cc.Node.EventType.TOUCH_END, this.onTouchEnd, this);

onTouchStart(event: cc.Event.EventTouch) {
this.offsetx = pos.x - this.node.x;
this.offsety = pos.y - this.node.y;
}

onTouchMove(event: cc.Event.EventTouch) {
    this.isBtn = false;
    this.isMoving = true;

    this.node.x = pos.x - this.offsetx;
    this.node.y = pos.y - this.offsety;
}

onTouchEnd(event: cc.Event.EventTouch) {
    if (!this.isMoving) {
        this.isBtn = true;
    }
    this.isMoving = false;

    this.onChange();
}

onChange() {
    if (!this.isMoving && this.isBtn) {
        切换图片
    }
}

解决了,原因是我切换图片的判断依据,要在touchumove中,结果可能有些手机,即使我没有移动,也触发了touchmove事件,导致我的判断依据错乱了。

总之就是,原来即使我没有移动,也会触发了touchmove事件 :dizzy_face:

原生平台的touchmove事件,是无论你是否移动都会一直触发的

嗯嗯,这下知道了 :sob: