[LayaAir 2.0]小游戏启用版本管理本地资源加载报错解决方案

小游戏启用版本管理本地资源加载报错解决方案
发布小游戏,启用版本管理,设置MiniAdpter.nativefiles后资源仍然从网络加载的问题。

先修改bin/libs/laya.core.js文件
1. 大约16040行
		if (type==="image" || type==="htmlimage" || type==="nativeimage")return [b]this._loadImage(url);[/b]

改为:
		if (type==="image" || type==="htmlimage" || type==="nativeimage")return [b]this._loadImage(this._url);[/b]

再修改bin/libs/laya.wxmini.js文件的下面几处即可。
1. 大约793行
            if(MiniAdpter.isZiYu){
var tempUrl=URL.formatURL(sourceUrl);
if(MiniFileMgr.ziyuFileTextureData[tempUrl]){
fileNativeUrl=MiniFileMgr.ziyuFileTextureData[tempUrl];
}else
fileNativeUrl=sourceUrl;
}else
[b]fileNativeUrl=sourceUrl;[/b]

改为
                if(MiniAdpter.isZiYu){
var tempUrl=URL.formatURL(sourceUrl);
if(MiniFileMgr.ziyuFileTextureData[tempUrl]){
fileNativeUrl=MiniFileMgr.ziyuFileTextureData[tempUrl];
}else
fileNativeUrl=sourceUrl;
}else[b] {
var tempStr = URL.rootPath != "" ? URL.rootPath : URL.basePath;
tempUrl = URL.formatURL(sourceUrl);
if (tempStr != "" && tempUrl.indexOf(tempStr) == 0)
tempUrl = tempUrl.replace(tempStr, "");
fileNativeUrl = tempUrl;
}[/b]

2.大约1079行,MiniLoader类的load方法里面:
		var urlType=Utils.getFileExtension(url);
if ((MiniLoader._fileTypeArr.indexOf(urlType)!=-1)){
MiniAdpter.EnvConfig.load.call(this,[b]url[/b],type,cache,group,ignoreCache);
}else {
if(MiniAdpter.isZiYu && !MiniFileMgr.ziyuFileData[url=){]){
url=URL.formatURL(url);
}
if(MiniAdpter.isZiYu && MiniFileMgr.ziyuFileData[/url][url=){]){
var tempData=MiniFileMgr.ziyuFileData[/url][url=;];
thisLoader.onLoaded(tempData);
return;
}
if (!MiniFileMgr.getFileInfo(url)){
if (MiniFileMgr.isLocalNativeFile([b]url[/b])){[/url]

改为
[url=;]		var urlType=Utils.getFileExtension(url);
if ((MiniLoader._fileTypeArr.indexOf(urlType)!=-1)){
MiniAdpter.EnvConfig.load.call(this,[b]thisLoader._url[/b],type,cache,group,ignoreCache);
}else {
if(MiniAdpter.isZiYu && !MiniFileMgr.ziyuFileData[/url][url=){]){
url=URL.formatURL(url);
}
if(MiniAdpter.isZiYu && MiniFileMgr.ziyuFileData[/url][url=){]){
var tempData=MiniFileMgr.ziyuFileData[/url][url=;];
thisLoader.onLoaded(tempData);
return;
}
if (!MiniFileMgr.getFileInfo(url)){
if (MiniFileMgr.isLocalNativeFile([b]thisLoader._url[/b])){
[/url]

修改的地方都加粗标注了,然而代码不支持加粗。。。注意里面的[b]部分[/b]
经过简单测试,不知道有没有隐藏BUG,出了问题,概不负责哦^_^
 
QQ交流群707752113,欢迎加入
已邀请:

Aar0n

赞同来自: 大光电KID

                

要回复问题请先

商务合作
商务合作