本来这系列的博文不准备再更新了,但由于项目后期(小项目)需要对接微信小程序的功能,诸如分享、排行榜之类。后期再考虑使用微信广告功能(这个目前有限制,如果达不到1000用户量的话,是不能接入广告的),由于项目需要,故此继续更新。
layaair引擎提供了wx.d.ts的接口,可以直接在代码中打印console.log(wx);
要调用微信的接口,需要先声明wx定义:
private wx;//微信接口
WXInterface()
{
console.log("启动微信接口");
if(Laya.Browser.onMiniGame)
{
this.wx=Laya.Browser.window.wx;
}
else
{
console.log("启动微信接口失败");
}
console.log("结束调用微信");
}
这里需要注意的是,该方法需要在初始化之后调用。
接下来是分享的方法:
private onShare(e: Laya.Event): void {
console.log("进入分享按钮");
if (this.wx == null) {
console.log("wx为空");
return;
}
var canvas = this.wx.createCanvas();
canvas.width = 640;
canvas.height = 480;
var context = canvas.getContext('2d');
var bgm = this.wx.createImage();
bgm.src = "jiangbei.png";
bgm.onload = () => {
context.drawImage(bgm, 0, 0, 640, 480);
context.fillStyle = "rgba(0,0,0,1)";
context.font = "bold 30px Arial";
context.textAlign = "left";
context.textBaseline = "middle";
context.fillText("关卡", 200, 100);
context.fillText( 999+ " 章节", 240, 190);
this.wx.shareAppMessage({
title: "小伙伴快来和我一起玩啊",
imageUrl: canvas.toTempFilePathSync({
destWidth: 640,
destHeight: 480
}),
success: () => {
console.log("分享成功");
},
fail: () => {
console.log("分享失败");
}
})
}