Quantcast
Channel: Cocos中文社区 - 最新帖子
Viewing all articles
Browse latest Browse all 494966

【福利】编译项目生成过多json文件加载慢的民间解决方案

$
0
0

现在确实有pack json了,但我们的项目仍然有600多个json,可能原因是大量的prefab放在resource里面动态实例化,没有关联到场景上。
所以仍然需要手工合并。从合并json中读取json的方法在目前版本上(1.3)和之前稍有变化,主要是针对pack的情况:

1)修改text_downloader.js 这是最根上的修改,所有Json都会走到这儿下载,包括pack的和不pack的
module.exports = function (item, callback) {
//for load import json from one big json object, item need uuid or id to download
if(window.inner_downloadText!=null && window.inner_downloadText(item,callback)) {
return;
}
2)修改pack_downloader.js, 这儿是加载pack的json,修改处是给传入的item加上uuid
_loadNewPack: function (uuid, packUuid, callback) {
var packUrl = cc.AssetLibrary.getImportedDir(packUuid) + '/' + packUuid + '.json';
- downloadText({ url: packUrl }, function (err, packJson) {
+ //add uuid:packUuid to {}, for load import json from one big json object
+ downloadText({ url: packUrl, uuid:packUuid }, function (err, packJson) {
3) 福利贴中的inner_downloadText也要做一些修改:

window.inner_downloadText = function (item, callback) {
if (jsonObj[item.uuid]) {
callback(null, jsonObj[item.uuid]);
return true;
}
if (jsonObj[item.id]) {
callback(null, jsonObj[item.id]);
return true;
}
return false;
};


Viewing all articles
Browse latest Browse all 494966

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>