微信小游戏资源管理

小游戏对包体有 4mb 大小限制,尽量避免包体中包含不必要的资源,需要将资源通过网络下载。
对远程资源的下载、缓存和版本管理,引擎已进行了支持,具体的逻辑如下:

  • 在游戏启动时,先下载 dislist.dis 文件比对游戏版本号,若版本号不一致,表示有资源更新,下载 assets.md5 文件更新所有资源的 md5 信息
  • 在加载资源时,进行以下判断
    • 判断资源是否在小游戏包内
    • 不存在则判断是否在本地缓存中,且是否本地缓存的文件 md5 与最新的 md5 一致
    • 不存在或 md5 不一致,就从远程服务器下载
    • 下载后保存到本地缓存,并更新文件 md5

上述说的 dislist.dis 和 assets.md5 文件在发布小游戏时会自动生成,开发者需要做的是:

  • 将生成的 Assets 目录和 dislist.dis 文件上传到服务器
  • 在发布界面中设置远程资源地址
  • 在游戏启动时,先调用 qc.AssetUtil.updateWxResMd5,该接口会下载 dislist.dist 进行版本比对、更新资源 md5 信息,并回调中返回 dislist 文件的内容
  • 之后再进行资源加载等游戏逻辑,加载资源的 url 地址以 'Assets/' 目录开始

results matching ""

    No results matching ""