cocos转微信坐标

/*

        cocos转微信坐标

        !!注意加个延时!!

        this.scheduleOnce(() => {

            let style = Util.instance.getNodeStyle(this.ClubButton)

        }, 0.1)

    */

    getNodeStyle(node: Node) {

        if (WECHAT) {

            //先把node放在Canvas节点下

            let canvasNode = director.getScene().getChildByName("Canvas");

            let canvasHeight = canvasNode.getComponent(UITransform).height;

            let pos = node.worldPosition.clone();

            pos.y = canvasHeight - pos.y;

            let scale = window["wx"].getSystemInfoSync().screenHeight / canvasHeight;

            let style = {

                left: (pos.x - node.getComponent(UITransform).width * 0.5) * scale,

                top: (pos.y - node.getComponent(UITransform).height * 0.5) * scale,

                width: node.getComponent(UITransform).width * scale,

                height: node.getComponent(UITransform).height * scale,

            };

            console.log("[WxUtil][getBtnStyle]", canvasHeight, scale, style);

            return style;

        } else {

            return null;

        }

    }
3赞

先给你顶一个,做过这个,确实很蛋疼

赞, 收藏