zoukankan      html  css  js  c++  java
  • creaor小游戏数据表配置引发的相关问题

    在游戏项目中,特别是小游戏,一般都是将表数据生成json数据来使用。
    我们项目使用creator引擎,刚开始时,直接将json打包到项目中,本地开发使用文件路径加载,所以暂时没有什么问题。
    后来发布项目后,各种文件会使用uuid生成文件路径,所以需要重新打表时,就需要从代码中查找出真实的json文件地址然后替换,不是特别方便,
    更严重的时,小游戏端使用了合并json优化,所以项目打包后会将相关的配置(就是meta等)和数据表打包到一个json中,
    在这种情况下,重新打表就需要替换其中一部件内容,这种情况更复杂了。我们就修改扩展名,让文件不合并到上边所说的文件中。
    后来发布版又将配置文件独立出项目来,将配置表文件放在固定的位置,这样一来上边的问题基本是解决了。
    后边又遇到一个问题,配置文件一般都会比较大,经过压缩会使启动时间大大缩减。但如果第三方压缩包的话如jszip等,会需要嵌入其它库导致项目增大。
    虽然微信小游戏里自带zip库,但太多平台的话也不利于维护,所以只能考虑浏览器的gzip压缩。

    经过研究发现,浏览器中是能清楚看到压缩情况的,

    但是在微信开发者工具中时,发现是没有任何压缩的,

    后来在真机调试时,配合资源服务器,发现是有压缩的,这也太坑了。

    然后把文件改回json。文件压缩率又更大了,由原来的700多变成了400多k,初始文件是2.8m。

    所以总结一下:
    1.项目中不能使用json做为文件名,因为只有本地使用,而且发布后会打包到合并的json中,导致多余的下载。
    2.线上项目使用json做为文件名,会自动启动gzip压缩,而且比自定义格式压缩率更高。

  • 相关阅读:
    数据库练习题
    支付类项目
    crm项目整理
    React 生成二维码
    Charles抓页面配置mac端
    Python之列表生成式、生成器、可迭代对象与迭代器
    01 Django基础
    12 jQuery的ajax
    11 事件委托(事件代理)
    10 jQuery的事件绑定和解绑
  • 原文地址:https://www.cnblogs.com/riaol/p/14353183.html
Copyright © 2011-2022 走看看