/*
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赞
先给你顶一个,做过这个,确实很蛋疼
赞, 收藏