您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“微信小程序游戲好友排行榜怎么開發”,內容詳細,步驟清晰,細節處理妥當,希望這篇“微信小程序游戲好友排行榜怎么開發”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
保存每個用戶的分數,需要調用微信的云存儲API,將用戶的分數持久化的存起來 .
// 保存用戶數據,注意限制單條數據容量不得超過1024字節,// 單個用戶數據總條數不得超過128條wx.setUserCloudStroage(Object)復制代碼
//存儲最高分 var score = 100; var kvScore = {"key":"score","value":score}; wx.setUserCloudStroage({"KVDataList":[kvScore]},"success":function(){ // });復制代碼
游戲中將玩家的分數保存起來以后,需要調用微信的云存儲API wx.getFirendCloudStorage
, 獲取玩家的微信好友數據,這樣就拿到了每個好友的最高分.
值得一提的是,微信的這個接口在內部隱蔽的使用其微信的社交關系鏈 .
返回列表中的包含的 調用過wx.setUserCloudStroage
這個接口的用戶.
對分數進行排序 , 得到一個排行榜
let sharedCanvas = wx.getSharedCanvas()function drawRankList (data) { data.forEach((item, index) => { // ... }) } wx.getFriendCloudStorage({ success: res => {let data = res.data drawRankList(data) } })復制代碼
注意這個 sharedCanvas
, 這是獨有的畫布 ,與小游戲中的畫布不是同一個東東.
使用sharedCanvas來自定義顯示玩家的用戶排行榜
上述所涉及的微信接口 , 都只能在微信小游戲的 子域
使用 , 微信官網也稱之為開放數據域
, 其實應該稱之為 封閉數據域
.
為什么這么說呢?
因為子域的js代碼執行環境和小游戲本身的代碼執行環境是隔離的. 兩者之間不能相通 , 子域只能接收外部的消息(如游戲的最高分),不能往外發消息(不能把用戶的好友關系鏈數據發給開發者服務器) , 內存不共享,也就意味著,開發者拿不到微信的社交關系鏈數據 . 在這樣的封閉條件下,開發者能做的只能是在子域的畫布上將排行榜數據以個性化的UI元素展示出來 。
讀到這里,這篇“微信小程序游戲好友排行榜怎么開發”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。