问题背景描述:
开始自己写的由于是固定分辨率,因此预览是没有什么问题。 但是其它人在浏览器中时,由于分辨率发生了变化,比如: 左右有黑边。那么回放时,这个w_pos相对位置就错误了。
解决办法:
let w_pos = event.getLocation();
// 避免不同分辨率下的问题
// 相对位置不会变化
let local_pos = this.node.parent.convertToNodeSpaceAR(w_pos);
evt.getInstance().emit("one_to_one_drag_end", {
drag_uid: this.drag_uid,
local_pos: local_pos,
});
之前这个参数传递的是w_pos, 改正后: 先转化为本地坐标,再搞。这样计算时,才根据实际的分辨率转化为全局坐标,就没有问题啦!
这样根据触摸的世界坐标转化为local_pos来判断,不管界面如何变化,分辨率如何变化,但是这个相对位置,是不会变化的