Laya微信小游戲的開放域


版本2.1.1.1

 

現在Laya的開放域比較好用了。

新建開放域項目,里面直接有個排行榜的示例。

 

 

直接發布

 

 

得到較少的文件,復制這些文件,粘貼到主項目bin/openDataContext下。 (openDataContext文件夾需要自己創建)

 

 並將開放域項目下libs/laya.opendata.js也復制到主項目bin/openDataContext/libs下 (libs文件夾需要自己創建)

 

 

 復制開放域項目下的laya/assets/test的排行榜圖片復制到主項目的bin/test下,否則開放域找不到圖片地址下載

 

 

最終微信項目文件如下

 

 

 設置主項目release/wxgame/game.json,增加 "openDataContext":"openDataContext"

 

 

主項目的TestScene中創建一個組件WXOpenDataViewer。 在Basics/UI下倒數第3個。(直接右鍵-創建UI組件,是沒有這個組件的)

這個WxOpenDataViewer是顯示開放域的,你可以理解為這是一個電視,里面播着開放域的界面。

 

 

主域通知開放域顯示排行榜

GameUI.ts:

onEnable(): void {
       Laya.loader.load(["res/atlas/test.atlas"],Laya.Handler.create(this,()=>{
          //使用接口將圖集透傳到子域
          Laya.MiniAdpter.sendAtlasToOpenDataContext("res/atlas/test.atlas");   
       }));
}

 

開放域接收消息,並顯示排行榜

Main.ts:

class Main {
    constructor() {
         //設置子域
        Laya.isWXOpenDataContext = true;
        Laya.isWXPosMsg = true;
        //根據IDE設置初始化引擎     
        Laya.init(GameConfig.width, GameConfig.height,false);
        Laya.stage.scaleMode = GameConfig.scaleMode;
        Laya.stage.screenMode = GameConfig.screenMode;
        Laya.stage.alignV = GameConfig.alignV;
        Laya.stage.alignH = GameConfig.alignH;
        // 關於透傳接口,請參考: https://ldc2.layabox.com/doc/?nav=zh-ts-5-0-7
        if(Laya.Browser.onMiniGame)
            wx.onMessage(function(data){
                console.log("子域收到消息:", data);
                if(data.url == "res/atlas/test.atlas" ){
                    Laya.loader.load("res/atlas/test.atlas",Laya.Handler.create(this,this.onComplete));
                }
            }.bind(this));
        else
            Laya.loader.load("res/atlas/test.atlas",Laya.Handler.create(this,this.onComplete));
                 
    }
 
    onComplete(): void {
        //初始化rank排行榜
        var rank = new BigRank();
        //初始化
        rank.init();
    }
}

  

把開放域的BigRank的this.getFriendData();注釋掉

 

 

主項目發布,微信開發者工具打開,最終顯示

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM