creaor小游戏数据表配置引发的相关问题
在游戏项目中,特别是小游戏,一般都是将表数据生成json数据来使用。
我们项目使用creator引擎,刚开始时,直接将json打包到项目中,本地开发使用文件路径加载,所以暂时没有什么问题。
后来发布项目后,各种文件会使用uuid生成文件路径,所以需要重新打表时,就需要从代码中查找出真实的json文件地址然后替换,不是特别方便,
更严重的时,小游戏端使用了合并json优化,所以项目打包后会将相关的配置(就是meta等)和数据表打包到一个json中,
在这种情况下,重新打表就需要替换其中一部件内容,这种情况更复杂了。我们就修改扩展名,让文件不合并到上边所说的文件中。
后来发布版又将配置文件独立出项目来,将配置表文件放在固定的位置,这样一来上边的问题基本是解决了。
后边又遇到一个问题,配置文件一般都会比较大,经过压缩会使启动时间大大缩减。但如果第三方压缩包的话如jszip等,会需要嵌入其它库导致项目增大。
虽然微信小游戏里自带zip库,但太多平台的话也不利于维护,所以只能考虑浏览器的gzip压缩。
经过研究发现,浏览器中是能清楚看到压缩情况的,
但是在微信开发者工具中时,发现是没有任何压缩的,
后来在真机调试时,配合资源服务器,发现是有压缩的,这也太坑了。
然后把文件改回json。文件压缩率又更大了,由原来的700多变成了400多k,初始文件是2.8m。
所以总结一下:
1.项目中不能使用json做为文件名,因为只有本地使用,而且发布后会打包到合并的json中,导致多余的下载。
2.线上项目使用json做为文件名,会自动启动gzip压缩,而且比自定义格式压缩率更高。