createUserInfoButton(btnNode,call){
let self = this;
let position=btnNode.convertToWorldSpaceAR(cc.v2(-btnNode.width/2,btnNode.height/2));//节点左上角在世界坐标系的位置
let frameSize = cc.view.getFrameSize();//实际尺寸
let winSize = cc.director.getWinSize();//设计尺寸
let floatx=frameSize.width/winSize.width;
let floaty=frameSize.height/winSize.height;
mywx.btnAuthorize = wx.createUserInfoButton({
type: 'text',
text: '',
style: {
left:position.x*floatx,//左边距=原坐标x*缩小比例
top: (winSize.height-position.y)*floaty,//顶部距离=(原高度-原坐标高度)*缩小比例
width: btnNode.width*0.65*floatx,
height: btnNode.height*0.65*floaty,
lineHeight: 0,
backgroundColor: '#ffffff',
color: '#ffffff',
textAlign: 'center',
fontSize: 16,
borderRadius: 4
}
})
mywx.btnAuthorize.onTap((res) => {
if (res.userInfo) {
wx.showToast({title:"授权成功"});
call();
mywx.btnAuthorize.destroy();
}else {
wx.showToast({title:"授权失败"});
}
});
},
参数说明:
btnNode为界面上某按钮,比如排行榜按钮。
call为回调函数,用户授权成功以后的function。
代码中的0.65是因为我的按钮,在父节点曾经做过0.65的缩放。所以按钮大小需要进行缩放。