版本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();注释掉

 

 

主项目发布,微信开发者工具打开,最终显示

 

 

版权声明:本文为gamedaybyday原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gamedaybyday/p/11545411.html