这里是微信小游戏关于好友关系链的说明:
https://mp.weixin.qq.com/debug/wxagame/dev/tutorial/open-ability/open-data.html
在LayaAir引擎里也支持微信小游戏关系链的使用,具体使用方式在官方提供的适配库里也给出了接口初始化说明,
MiniApdter.init的第二个参数设置成true,就是是否把当前环境初始化为开发数据域(适配库里写的是子域,概念是同一个)。
根据微信文档的说明,主域跟开发数据域代码是分离的,也就是说他们代码之间不能互相调用,具体更多限制请认真阅读文章,现在改成在具体的使用说明:
主域:
MiniApdter.init(true)
Laya.init(1280,720,WebGL);
//通过消息透传通知开发数据域sharedCanvas的尺寸大小,以及缩放比例信息
wx.getOpenDataContext({url:"",data:{type:"resizeShared",width:Laya.stage.width,height:Laya.stage.height,matrix:Laya.stage._canvasTransform},isLoad:false});
//显示开发数据的内容,需要延迟处理,因为主域跟开发数据域同时初始化,可能碰巧赶上主域先调用,开发数据域或调用,导致内容不显示
Laya.timer.once(400,this,function():void{
var rankTexture:Texture = new Texture(Browser.window.sharedCanvas);
rankTexture.bitmap.alwaysChange = true;//小游戏使用,非常费,每帧刷新
rankSprite2.graphics.drawTexture(rankTexture,5,78,rankTexture.width,rankTexture.height);
});
开发数据域:
MiniAdpter.init(true,true);
Laya.init(1280,720);//标注:开发数据域不支持webgl模式,只能运行canvas模式,微信小游戏限制
__JS__('wx').onMessage(function(message:Object):void{
//通过接收主域的消息来设置开发数据域的画布大小跟矩阵信息
__JS__('sharedCanvas').width = message.data.width;
__JS__('sharedCanvas').height = message.data.height;
trace("-----------------sharedresize----------------------------");
trace(message.data.matrix);
Laya.stage._canvasTransform = message.data.matrix;//重新设置矩阵
});
//开发数据域添加一张图片
var image:Image = new Image();
image.skin = "a.png";
Laya.stage.addChild(image);
以上是基本用法,具体开发数据域的限制请参考官方的文档,这里只列出了具体的使用说明