[]微信小游戏中加载unity导出的场景报错the .lh file root type must be Scene
报错:the .lh file root type must be Scene。
看了下代码,是读取的.ls文件并不是按照数组方式读取的,而是安装字符串读取进来的,所以导致判断type失败:
/**
*@inheritDoc
*/
__proto.onAsynLoaded=function(url,data,params){
var json=data[0]
if (json.type!=="Scene"){
if (url == "scene/Demo_Interiors.ls"){
console.log(data[0]);
throw new Error("Scene: the .lh file root type must be Scene,please use other function to load this file.");
}
}
var innerResouMap=data[1];
Utils3D._createNodeByJson(this,json,this,innerResouMap);
this.event("hierarchyloaded",[this]);
this.__loaded=true;
}
打了一个log,发现data[0]读取出来的结果是"{",也就是说data被按照字符串读取了,而不是数组。
/**
*结束加载,处理是否缓存及派发完成事件 <code>Event.COMPLETE</code> 。
*@param content 加载后的数据
*/
__proto.endLoad=function(content){
content && (this._data=content);
if (this._cache)Loader.cacheRes(this._url,this._data);
this._customParse=false;
this.event("progress",1);
this.event("complete",(this.data instanceof Array)? [this.data] :this.data);
}
上面这里直接判断失败,走了false
具体见附件。
望解决
看了下代码,是读取的.ls文件并不是按照数组方式读取的,而是安装字符串读取进来的,所以导致判断type失败:
/**
*@inheritDoc
*/
__proto.onAsynLoaded=function(url,data,params){
var json=data[0]
if (json.type!=="Scene"){
if (url == "scene/Demo_Interiors.ls"){
console.log(data[0]);
throw new Error("Scene: the .lh file root type must be Scene,please use other function to load this file.");
}
}
var innerResouMap=data[1];
Utils3D._createNodeByJson(this,json,this,innerResouMap);
this.event("hierarchyloaded",[this]);
this.__loaded=true;
}
打了一个log,发现data[0]读取出来的结果是"{",也就是说data被按照字符串读取了,而不是数组。
/**
*结束加载,处理是否缓存及派发完成事件 <code>Event.COMPLETE</code> 。
*@param content 加载后的数据
*/
__proto.endLoad=function(content){
content && (this._data=content);
if (this._cache)Loader.cacheRes(this._url,this._data);
this._customParse=false;
this.event("progress",1);
this.event("complete",(this.data instanceof Array)? [this.data] :this.data);
}
上面这里直接判断失败,走了false
具体见附件。
望解决
没有找到相关结果
已邀请:
5 个回复
Aar0n
赞同来自:
Aar0n
赞同来自:
lookdczar
赞同来自:
lk_neu
赞同来自:
Aar0n
赞同来自: