版本2.1.1.1

 

现在Laya的开放域比较好用了。

新建开放域项目,里面直接有个排行榜的示例。

Laya微信小游戏的开放域

 

 

直接发布

Laya微信小游戏的开放域

 

 

得到较少的文件,复制这些文件,粘贴到主项目bin/openDataContext下。 (openDataContext文件夹需要自己创建)

Laya微信小游戏的开放域

 

 并将开放域项目下libs/laya.opendata.js也复制到主项目bin/openDataContext/libs下 (libs文件夹需要自己创建)

 Laya微信小游戏的开放域

 

 复制开放域项目下的laya/assets/test的排行榜图片复制到主项目的bin/test下,否则开放域找不到图片地址下载

 Laya微信小游戏的开放域

 

最终微信项目文件如下

Laya微信小游戏的开放域

 

 

 设置主项目release/wxgame/game.json,增加 "openDataContext":"openDataContext"

Laya微信小游戏的开放域

 

 

主项目的TestScene中创建一个组件WXOpenDataViewer。 在Basics/UI下倒数第3个。(直接右键-创建UI组件,是没有这个组件的)

这个WxOpenDataViewer是显示开放域的,你可以理解为这是一个电视,里面播着开放域的界面。

Laya微信小游戏的开放域

 

 

主域通知开放域显示排行榜

GameUI.ts:

1

2

3

4

5

6

onEnable(): void {

       Laya.loader.load(["res/atlas/test.atlas"],Laya.Handler.create(this,()=>{

          //使用接口将图集透传到子域

          Laya.MiniAdpter.sendAtlasToOpenDataContext("res/atlas/test.atlas");  

       }));

}

 

开放域接收消息,并显示排行榜

Main.ts:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

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

Laya微信小游戏的开放域

 

 

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

 Laya微信小游戏的开放域

相关文章:

  • 2021-05-24
  • 2021-06-29
  • 2021-10-05
  • 2022-12-23
  • 2021-05-09
  • 2021-12-21
  • 2021-10-02
  • 2021-08-15
猜你喜欢
  • 2022-01-09
  • 2021-10-02
  • 2021-12-18
  • 2021-11-29
  • 2021-11-23
  • 2022-12-23
相关资源
相似解决方案