1. 程式人生 > >Laya引擎對接微信小遊戲

Laya引擎對接微信小遊戲

步驟如下:
可以在主域寫的邏輯:
1.首先呼叫登入獲取到code,拿到code後請求
    https://api.weixin.qq.com/sns/jscode2session?                
    appid=wx05c25aaaf81a18f9&secret=f67512cd482e83fdae27d10a24a28f27&js_code=' + code + 
    '&grant_type=authorization_code';
  appid-開發者後臺-設定-API-APPID,
  secret-開發者後臺-設定-API-APPID下面的加密的ID
  js_code-通過下面介面獲取到的Code
  grant_type=authorization_code(預設固定寫法)
 登入介面:::window['wx'].login
2.連結請求後,微信伺服器後臺,會返回玩家唯一OpenID與session_Key
3.獲取玩家微信個人資訊
  介面:window['wx'].getUserInfo
4.以上步驟完成後,呼叫下面介面
  介面:window['wx'].onShow,獲取到query,此值是轉發邀請後,微信好友點選進入後,帶的引數(前提主動轉 
  發邀請連結裡,寫入query
  主動轉發介面: window['wx'].shareAppMessage);
5.以上步驟完成後,如果做了分包,則首先載入分包模組
  if (this.mRunPlatform_WX) {
            const loadTask = window['wx'].loadSubpackage({
                // name 可以填 name 或者 root
                name: 'subpackage',
                success: function (res) {
                    console.log("分包載入成功");
                },
                fail: function (res) {
                    console.log('分包載入失敗');
                }
            });
        }
6.如果沒做分包機制的話,可以跳過此步驟
  分包,首先在Src下建立分包資料夾subpackage,程式碼就在此資料夾下做處理
  tip:subpackage命名自定義,此命名,要寫到打包出的game.json裡
  分包下的檔案在編譯時,會被bin/index.html引用,記得要把所有在分包內的檔案引用註釋掉
  主包,分包之間相互呼叫時,記得需要用window儲存下引用
  如:laya的UI層, window['ui'] = ui;這樣就可以互相訪問window儲存的物件.呼叫
  打包後的配置檔案如下:	
 {
  "deviceOrientation": "landscape",
  "showStatusBar": "false",
  "networkTimeout": {
    "request": 10000,
    "connectSocket": 10000,
    "uploadFile": 10000,
    "downloadFile": 10000
  },
 //開放域與分包配置
  "openDataContext": "src/myOpenDataContext",
  "subpackages": [
    {
      "name": "subpackage",
      "root": "js/subpackage/"
    }
  ]
}

  主要是開放域與分包配置,上面都是預設
  openDataContext,開放域模組地址
  subpackages:分包模組地址
  name:分包包名.
  root:分包程式碼具體地址
7.主域與開放域通訊模組
  主域開放域為兩個工程專案:
  主域:初始化為:Laya.MiniAdpter.init(true);
  開放域初始化為:Laya.MiniAdpter.init(true,true);
  主域發訊息介面:
  介面:window['wx'].postMessage
  此介面,一般在主域,登陸成功,且獲取玩家資訊,載入分包成功時候呼叫
8.主域必發訊息
  1.首先發送設定開放域canvas訊息,大小為主域的state寬高
  2.開發域載入資源,(laya啟動時,會主動給開放域傳送主域裡圖集資訊,開放域需提前接受,詳情在步驟10)
9.開放域接收訊息介面:
  介面:window['wx'].onMessage
10.開發域必做訊息處理
  1.laya啟動時,底層自動推送的圖集資源資訊,此介面不用命令,直接處理
 if (message['isLoad'] == "filedata" || message['isLoad'] == "filenative") {
            layaAir2D.ReceiveRes(message);
        }
     ReceiveRes(message: any) {
        if (message['isLoad'] == "filedata") {
            Laya['MiniFileMgr'].ziyuFileData[message.url] = message.data;//文字資料
        } else if (message['isLoad'] == "filenative") {
            //子域接收主域傳遞的檔案資訊
            if (message.isAdd)
                Laya['MiniFileMgr'].filesListObj[message.url] = message.data;
            else
                delete Laya['MiniFileMgr'].filesListObj[message.url];
        }
        console.log("分域資源獲取完成");
    }
 2.根據命令,設定canvas大小
  setCanvasSize(size: any) {
        console.log('設定開發域canvas大小')
        window['sharedCanvas'].width = size.width;
        window['sharedCanvas'].height = size.height;
        Laya.stage.width = size.width;
        Laya.stage.width = size.height;
    }
 3.正常載入圖集資源
  	
結束:其它介面,照微信API呼叫即可

相關推薦

Laya引擎對接遊戲

步驟如下: 可以在主域寫的邏輯: 1.首先呼叫登入獲取到code,拿到code後請求 https://api.weixin.qq.com/sns/jscode2session? appid=wx05c25aaaf81a18f9&

基於Laya遊戲引擎實現遊戲排行榜

我們都知道,微信小遊戲和小程式目前風頭十足,很多公司都逐漸增加了相關業務線來迅速推廣自己的產品和搶佔使用者群。說到微信小遊戲,就不得不提到排行榜這個功能,就目前遊戲行業,似乎都離不開排行榜這個重要功能,使用者很大一部分留存都是依仗這個看似不起眼的模組。那麼,微信

白鷺引擎解決遊戲切換背景音樂無法播放的問題。

白鷺引擎 版本:5.2.8 描述:白鷺引擎解決微信小遊戲切換背景音樂無法播放的問題。 main.ts檔案中找到如下函式,增加上您的音訊物件。 egret.lifecycle.onResume = () => { sound.pla

使用Laya引擎開發微遊戲(上)

本文由雲+社群發表 使用一個簡單的遊戲開發示例,由淺入深,介紹瞭如何用Laya引擎開發微信小遊戲。 作者:馬曉東,騰訊前端高階工程師。 微信小遊戲的推出也快一年時間了,在IEG的遊戲運營活動中,也出現了越來越多的以小遊戲作為載體運營的活動型別,比如遊戲預約,搶先試完等等,都收到了非常良好的效果。 在支援

使用Laya引擎開發微遊戲(下)

本文由雲+社群發表 6. 動畫 6.1 建立傘兵物件 在src目錄下建立一個新目錄role,用來存放遊戲中角色。 在role裡建立一個傘兵Soldier.ts物件檔案。 module role{ export class Soldier extends Laya.Sprite{ c

白鷺引擎egret打包成遊戲

1、匯入專案以後開啟檔案egretproperties.json修改target 下面的current的web為wxgame r   然後點開打包   在這裡填寫微信小遊戲id以及命名,打包成功以後,即可用微信開發者工具來允許,如果報錯請把縮放模式改成f

Laya 遊戲登入問題

微信官方通知:小程式與小遊戲獲取使用者資訊介面調整,請開發者注意升級。 為優化使用者體驗,使用 wx.getUserInfo 介面直接彈出授權框的開發方式將逐步不再支援。從2018年4月30日開始,小程式與小遊戲的體驗版、開發版呼叫 wx.getUserInfo 介面,將無法彈出授權

laya 遊戲 分享 功能

  此功能的要點同,如何取得wx, if (Laya.Browser.onMiniGame) { this.wx = Laya.Browser.window.wx; } 然後通過wx.createCanvas()建立一個離屏canvas.然後通過canvas.getCo

學習筆記 0_遊戲_引擎選擇

遊戲引擎選擇 引擎介紹 Demo 注意事項 1、初始包大小限制就是4M 初始包大小限制就是4M。粗不粗糙和初始包大小是沒有關係的,你可以首場景載入4M初始包 + 10M資源,只不過載入速度會慢而已,你的程式碼載入更多也沒有問題。

利用遊戲伺服器引擎Matchvs開發聯網遊戲

Matchvs是一款十分易用的遊戲伺服器引擎,開發者通過SaaS層提供的API,即可完成“就近”節點接入、玩家匹配、遊戲資料通訊的建立;PaaS提供GS開發框架、託管平臺,無需自有伺服器資源即可對服務端的聯網能力進行擴充套件,實現自定義的服務端邏輯。 微信小遊戲玩法簡介:遊

遊戲開發之五:為three.js新增物理引擎Physijs

let THREE = require('./three/three') import Physijs from './three/physi' export default class game3d { constructor() { Physijs.scripts.worker

遊戲開發之三:實現遊戲的簡易引擎

一、建立引擎目錄 在主目錄下建立名為'lib'的資料夾,存放引擎程式碼 二、建立所有遊戲元素的基類:Node 在'lib'資料夾下建立'node.js'檔案; 一個元素,需要座標去定義位置,長寬來定義範圍,還需要能夠切換顯示狀態,新增子元素和獲取父元素等等 程式碼如下:

遊戲_引擎選擇

遊戲引擎選擇 引擎介紹 Demo 注意事項 1、初始包大小限制就是4M  初始包大小限制就是4M。粗不粗糙和初始包大小是沒有關係的,你可以首場景載入4M初始包 + 10M資源,只不過載入速度會慢而已,你的程式碼載入更多也沒有問題

白鷺引擎正式支援遊戲開發

12月28日微信迎來更新,正式上線小遊戲,並開放了小遊戲開發文件和開發者工具。在微信釋出新版本後,白鷺引擎立即添加了對於微信小遊戲開發的支援,開發者只需要使用白鷺引擎的最新版本,通過使用白鷺引擎完整工具流,就可以快速建立、開發與釋出微信小遊戲,而無需過多的關注底

自動刪除Laya釋出遊戲的時候自動打包的libs資料夾

討厭釋出微信小遊戲的時候自動打包的libs資料夾 問題 每次用Laya釋出到微信小遊戲上的時候,會自動打包libs資料夾,而這個資料夾正式上傳的時候是可以刪除的,本身在微信開發者工具上執行也可以刪除。但是,我沒找到LayaAir哪裡可以設定不釋出li

農場莊園遊戲開發,遊戲商城開發

深圳市龍火科技有限公司(SHENZHEN DRAGON FIRE TECHNOLOGY CO.LTD.),專業為企業提供一站式手機APP軟件開發,移動APP推廣服務,包括ANDROID APP開發,IOS APP開發,企業APP定制服務,同時提供全的APP開發流程一記開發方案。 龍火科技自成立以來,以為

遊戲開發

微信小遊戲開發 遊戲開發 棋牌遊戲開發 嗨。。老板你是不是想找公司開發遊戲項目? 我們就是你一直想找的公司,在此懇請老總你認真看看我的介紹 看是否有你想開發項目,歡迎加我v 信視頻了解我公司能力。 專業開發大型3D遊戲軟件; 定制開發任意模式的系統軟件棋 牌果園莊園牧場遊戲 。聯系方式:

遊戲開發,分銷系統定制開發

微信小遊戲 棋牌遊戲 分銷系統定制 ● 深圳市龍火科技有限公司專業為企業提供一站式手機APP軟件開發,移動APP推廣服務,包括ANDROID APP開發,IOS APP開發,企業APP定制服務,同時提供最全的APP開發流程以及開發方案。 ● 龍火科技自成立以來,已為

.net開發 遊戲跳一跳輔助程序

strong 系統 圖片 src 路徑 div net開發 微信 計算 一次巧合我看到了一篇關於微信小遊戲跳一跳的輔助開發源碼,鏈接:http://mp.weixin.qq.com/s/qGpoHNEf1A2AlofKFVdE2w 然後我試著下載下來跑一遍看能不能運行,

玄武大廳平臺出租遊戲「跳一跳」技術手段高分秘籍實現

實現 forum 文章 沒有 好玩 鏈接 .com 微信 新版 最近這兩天,從微信最新版內測開始,到正式版發布,玄武大廳平臺出租(h5.hxforum.com)企鵝2952777280 源碼出售 房卡出售 後臺出租微信小程序的遊戲:跳一跳,可以說是火爆了微信好友圈。甚至比五