Charles 项目里的代码写的比较分散,不好直接复制粘贴,写了一下大概流程,下面的代码是我复制题主的部分代码改成JS的,不建议直接复制,可以在看明白之后按照步骤来自己写
// 主域初始化用 Laya.MiniAdpter.init(true); 子域初始化用Laya.MiniAdpter.init(true, true);
// 这样初始化之后,第一个true表示:主域在Laya.loader.load 加载图集时,会把图集的信息发送到子域(.atlas的文件路径和文件内容一同传过去)
// 需要在子域判断数据的 isLoad 参数来决定是否存下来,message里存的数据是
{
url: "atlas文件的路径",
data: "atlas文件的内容,即图片在图集里分布的坐标等信息",
isLoad:"filedata"(或者其他参数),
......(好像还有其他数据,可以在代码里输出看一下)
}
// 子域处理代码
wx.onMessage(function(message){
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];
}
}
});
// 添加完成之后再在子域Laya.loader.load("xxxxx.atlas") 加载图集文件就可以用了,子域不需要存图集文件,主域里有一份就行了。