Egret社区

RES使用zip压缩的文件

2018-4-10 14:45
19906
1银子
现在我们的项目,用exture Merger 生成图集,产生了一百多json文件,我们想减少加载数,考虑用jszip,但官网教程是把json内容直接读出来了,RES.loadGroup、 RES.loadConfig的参数都是文件名,不知道这种怎么处理。或者有没有可能把多个json放在一个文件里,这个也没想到怎么在RES里读取的方法。求救中!!

分享到 :
0 人收藏

6 个回复

倒序浏览
app小王子  社区管理员 | 2018-4-11 10:17:16
压缩成 zip 文件。然后使用  res加载后使用 jszip 解压,
jax  圆转纯熟 | 2018-4-11 10:37:17
app小王子 发表于 2018-4-11 10:17
压缩成 zip 文件。然后使用  res加载后使用 jszip 解压,

jszip解压以后,不能生成文件,比如图集文件1.json,按你们给的例子,只是把json内容读出来了,但RES.loadGroup、 RES.loadConfig需要的应该是文件名,这个时候系统是找不到1.json的,因为它还是在jszip里面,没有生成实体文件, RES.loadGroup取不到。
wllinger  登堂入室 | 2018-4-11 10:45:09
小王子的意思是,你先将你需要的json,全部打包为一个zip文件,这个文件可以不配置在.res.json里,你用RES.getResByUrl,载入,然后用jszip解析压缩包,然后自己存储解析后的json,以便使用.
你要使用loadGroup加载一组文件的方式,加载json组,就不需要jszip,引擎会将组内的文件,分别加载到缓存里,只有加在完毕了,你才能根据名字去取每个json文件。
jax  圆转纯熟 | 2018-4-11 11:01:25
wllinger 发表于 2018-4-11 10:45
小王子的意思是,你先将你需要的json,全部打包为一个zip文件,这个文件可以不配置在.res.json里,你用RES. ...

现在是这样的,比如我在default.res.json里有一个叫 1group 的组,组里有1_json,2_json,3_json三个文件,都是Texture Merger 生成的合图文件,如果我把1_json,2_json,3_json打成zip包,再用RES.loadGroup("1group"),他就找不到这几个文件了。
wllinger  登堂入室 | 2018-4-11 11:21:04
jax 发表于 2018-4-11 11:01
现在是这样的,比如我在default.res.json里有一个叫 1group 的组,组里有1_json,2_json,3_json三个文件, ...

你是用jszip呢,还是不用jszip呢?用jszip,你可以将json打包去解析,这样,就不需要在res.json配置里存在任何打包文件内的信息,用getResByUrl加载这个zip包,加载完了,使用jszip来解压刚在进来的数据,这是jszip的做法。
使用loadGroup,那么你就不需要用zip打包,如你所说,1group包含了你所有的json,那么你只需要loadGroup(1group),等资源加载完毕,就可以直接根据名字使用了,如:RES.getRes(1_json)。
jszip只需要加载一个zip文件来解压。loadGroup是加载资源组里的每一项资源。不明白你为什么要2种混用……还是说你是用loadGroup来加载zip文件……
jax  圆转纯熟 | 2018-4-11 11:37:50
wllinger 发表于 2018-4-11 11:21
你是用jszip呢,还是不用jszip呢?用jszip,你可以将json打包去解析,这样,就不需要在res.json配置里存 ...

我们是因为合图的文件比较多,大概合了200多张大图,就有200多json文件,开两百链接去加载json文件,感觉有点费时间,就想一次性加载过来,所以想用zip把这些图集的json打包,在客户端解压。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部