本文將介紹開發微信小遊戲四種經常使用功能的實現方法,這四種功能分別是:javascript
獲取頭像功能 html
微信轉發功能java
微信分享功能微信
遊戲圈微信開發
爲實現以上四個功能,咱們須要分別在Egret Wing(圖1,圖2)和微信開發者工具(圖3)裏配置。async
須要在Platform.ts裏調用platform.js接口。函數
在Main.ts經過Platform.ts調用執行函數 。工具
在 platform.js寫相對應的邏輯代碼。ui
以上三點是實現四個微信小遊戲功能的通用配置,具體操做以下:this
用戶登陸,能夠獲取用戶本身的頭像,參看微信平臺。
private async runGame() { const userInfo = await platform.getUserInfo(); this.createGameScene(userInfo); } protected createGameScene(userInfo:any): void { // 用戶頭像 let img=new eui.Image(); img.source=userInfo.avatarUrl this.addChild(img); }
微信小遊戲轉發功能經過點擊微信小遊戲右上角按鈕來觸發小遊戲的內置轉發效果,達到轉發給朋友的效果。
1. 在Egret Wing—>src—>Platform.ts添加如下代碼
declare interface Platform { shop():Promise<any>; } class DebugPlatform implements Platform { async shop() {} }
private async runGame() { platform.shop(); }
3. 在微信開發者工具裏Platform.ts添加如下代碼
微信轉發主要使用了wx.showShareMenu()和wx.onShareAppMessage()方法,具體參數可參看微信開發平臺
class WxgamePlatform { shop() { return new Promise((resolve, reject) => { wx.showShareMenu({ withShareTicket: true }); wx.onShareAppMessage(function () { return { title: "+++", imageUrl: 'resource/assets/art/heros_goods/btnOK.png' } }) }) } openDataContext = new WxgameOpenDataContext(); }
除了轉發功能,咱們也能夠在微信小遊戲內自定義一個按鈕,主動分享給朋友。
1. 在Egret Wing—>src—>Platform.ts添加如下代碼
declare interface Platform { shareAppMessage():Promise<any>; } class DebugPlatform implements Platform { async shareAppMessage(){} }
protected createGameScene(): void { //遊戲內自定義分享按鈕 let btnClose = new eui.Button(); btnClose.label = "分享"; btnClose.y = 300; btnClose.horizontalCenter =180; this.addChild(btnClose); btnClose.addEventListener(egret.TouchEvent.TOUCH_TAP, ()=>{ platform.shareAppMessage() }, this) }
3. 在微信開發者工具裏Platform.ts添加如下代碼
微信分享主要使用了shareAppMessage()方法,具體參數可參看微信開發平臺
class WxgamePlatform { shareAppMessage() { return new Promise((resolve, reject) => { wx.shareAppMessage({ title: '轉發標題', imageUrl: 'resource/assets/art/heros_goods/btnOK.png' }) }) } openDataContext = new WxgameOpenDataContext(); }
微信遊戲圈,在這裏和好友交流遊戲心得。 1. 在Egret Wing—>src—>Platform.ts添加如下代碼
declare interface Platform { createGameClubButton():Promise<any>; } class DebugPlatform implements Platform { async createGameClubButton(){} }
private async runGame() { platform.createGameClubButton(); }
class WxgamePlatform { wx.createGameClubButton({ icon: 'green', style: { left: 200, top: 626, width: 40, height: 40 } }) openDataContext = new WxgameOpenDataContext(); }
以上是微信小遊戲四種常見功能的實現方法,但願對您有所幫助。