CameraComponent.worldToScreen 在不同平台获取的屏幕坐标有差异

点击小兵,显示星级,在不同平台太 worldToScreen 得到的位置不一样
下面是两张对比图


我也遇到这个问题了,请问你解决了吗

解决了,需要用 3D 节点转 UI 本地节点坐标。 进行转化

public static getScreenPos(target: Node|Vec3, camera: CameraComponent, ui: Node) {
let out = new Vec3()
if (target instanceof Vec3)
{
camera.convertToUINode(target, ui, out);
}else
{
camera.convertToUINode(target.worldPosition, ui, out);
}

    out.x += cc.winSize.width/2;
    out.y += cc.winSize.height/2;

    return out;
}
1赞

不说下哪个cocos creator版本呢?