部分手机touch_end事件无响应

node注册了touch事件,在小米mi 8和iphone 7手机上无法响应end事件,每次都只响应cancel事件,试了其他几部手机都是正常响应end事件的,以下是部分代码
this.node.on(cc.Node.EventType.TOUCH_MOVE, function (event) {
if (this._isDoubleClick){
var y = event.getLocationY();
event.target.y = Math.min(y, MaxMoveY);
}
}, this);

this.node.on(cc.Node.EventType.TOUCH_END, function (event) {
this._isTouchState = false;

        if (this._isDoubleClick) {
            this.touchCardEnd(event,false);
        }

    }, this);

this.node.on(cc.Node.EventType.TOUCH_CANCEL, function (event) {
this._isTouchState = false;
if (this._isDoubleClick) {
this.touchCardEnd(event, true);
}
}, this);

  • Creator 版本:2.0.8

  • 目标平台: android 微信小游戏

  • 详细报错信息,包含调用堆栈:

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

  • 手机型号 :小米MI 8 Lite

  • 出现概率:每次都这样

我测试下

已经解决了,是event.getLocationY()的问题,我一直以为是相对于锚点的距离,实际是相对于左下角的距离,不知道cocos在各个手机是怎么检测的,是跟手机的触摸灵活度有关系么

iphone7P上touch_end正常响应。没有问题。
请你在一个新项目上测试一下这个问题。

getLocationY返回的世界坐标下的Y坐标。