物品拖拽时在不同分辨率下位置不对

我在不同分辨率下更改了canvas的尺寸来适应屏幕 //调整canvas大小适配屏幕
resize_screen() {
var cvs = find(‘Canvas’).getComponent(Canvas);
//保存原始设计分辨率,供屏幕大小变化时使用
if (!this._designResolution) {

        this._designResolution = cvs.getComponent(UITransform).contentSize
    }
    log(this._designResolution);
    var dr = this._designResolution;
    var s = view.getFrameSize();
    var rw = s.width;
    var rh = s.height;
    var finalW = rw;
    var finalH = rh;

    if ((rw / rh) > (dr.width / dr.height)) {
        finalH = dr.height;
        finalW = finalH * rw / rh;
    }
    else {
        finalW = dr.width;
        finalH = rh / rw * finalW;
    }
    view.setDesignResolutionSize(Math.abs(finalW), Math.abs(finalH), 0);
}

下面这个是拖拽方法
BtnToolMove(event: EventTouch, Tool: Node) {
let posV2: Vec2 = event.getLocation();
let posV3 = this.node.getComponent(UITransform).convertToNodeSpaceAR(v3(posV2.x, posV2.y));
Tool.setPosition(posV3);
//log(posV3);
}

在设计分辨率下是正常的,在其他分辨率下位置不对,鼠标位置和拖拽的物品位置不一样,有大佬遇见过吗

奥,上面那个转节点坐标的node是全屏适配的

:sob:大佬们0.0

额,我没执行我的适配方法,只是更换了分辨率后位置还是不对,有大佬没有啊0.0.0

建议使用 getUILocation() 试试。
https://docs.cocos.com/creator/3.0/api/zh/classes/event.touch-1.html#getuistartlocation

好使,大佬牛皮

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。