本來這系列的博文不準備再更新了,但由於項目後期(小項目)需要對接微信小程序的功能,諸如分享、排行榜之類。後期再考慮使用微信廣告功能(這個目前有限制,如果達不到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("分享失敗");
}
})
}