U3D游戏运行时资源是如何从AB中加载出来的

以安卓为例

1,游戏启动,自定义版本管理器去安卓的持久化目录下查找我们自定久的版本管理文件 rep.db,若该文件不存在,说明这是游戏第一次启动,于是就把streammingAssets下的LUA文件夹和resoure文件夹及rep.db及版本号文件version.txt及资源列表文件resource_list.txt拷到持久化目录下。

若发现rep.db存在,则去WEB资源服务器上取资源版本号,并与version.txt中的版本号对比,如不一致,则去对比服务器与本地的resource_list.txt(每个文件对应一个MD5),少的删除,多的增加,将资源从WEB服务器上拉到持久化目录,并重新写一个rep.db,记录了LUA文件,资源文件的相对-绝对路径映射,相对路径就是资源打包时指定的资源名称,比如打一个资源包 assets/res/pictures,下面有一组图片,分别命名为 assets/res/pictures/grass.png,assets/res/pictures/stone.png等,并将资源名与资源包的对应关系写到一个配置文件 asset_2_bundle.txt中,以便加载时使用。

资源打包时,对AB包内的资源名称并没有什么限制条件,既可以使用带路径的名称,也可使用一个简单名称,但在游戏中,因为资源很多,为防止资源重名,我们要使用带路径资源名。

2,资源更新完毕,游戏运行,当需要加载" assets/res/pictures/grass.png"这张图片时,根据这个路径名去 asset_2_bundle.txt中去查找对应的AB包名,然后再根据AB包名去rep.db中查找AB包在安卓上的绝对路径名(持久化目录下),然后createBundleFromefile创建这个AB包,并缓存它。然后用AB.LOADASSET("assets/res/pictures/grass.png")加载资源,

因为assets/res/pictures/grass.png这个资源名是我们在打AB包时指定的,因此AB可以找到它

posted on 2018-08-15 22:21 时空观察者9号 阅读(...) 评论(...) 编辑 收藏

U3D游戏运行时资源是如何从AB中加载出来的相关推荐

  1. [转] Adobe Flash Professional CS解决提示:您的内容将不流化。运行时共享库(RSL)预加载要求下载您的所有内容后才可播放第一帧。...

    某日,发布并测试flash的过程中,总是出现"运行时共享库预加载警告"弹出框(如图1),并会生成.swz文件,开始以为对flash后续开发没有影响,结果不然,会导致.swf文件通过 ...

  2. IDEA导出jar包后运行报错 找不到或无法加载主类

    问题描述 操作系统:win10 按照网上的流程打包jar包后,使用 java jar包名称 运行时出现找不到或无法加载主类错误 解决方案 1. 更换命令.使用 java -jar jar包名称 命令运 ...

  3. XNA 游戏 运行时编辑器

    最近在写游戏时发现随着代码量和资源数量的加大,编译速度越来越来慢...而且游戏编程中需要 多次调整的数据有比较多(比如各种移动速度,攻击硬直之类,不可能一次指定正确..),而每次改一个 数据就要重新编 ...

  4. UE4 在游戏运行时更改变量 (通过鼠标滑轮来更改第一人称角色的最大行走速度)

    在上一篇博客中(UE4 更改组件变量 (以修改第一人称角色模板的最大行走速度和跳跃高度为例))已经创建了最大行走速度这个变量,如何在游戏运行时修改它从而达到动态调整速度的效果? 效果: 步骤: 1.创 ...

  5. Java初学者作业——实现控制台的猜数字游戏。游戏运行时产生一个1~100之间的随机数字

    返回本章节 返回作业目录 需求说明: (1)实现控制台的猜数字游戏.游戏运行时产生一个1-100之间的随机数字 (2)要求用户从控制台输入数字,若输入的数字比随机数小,则输出"太小了,再大一 ...

  6. 笔记本玩逆水寒服务器未响应,逆水寒游戏运行时电脑崩溃怎么办_逆水寒运行游戏是笔记本崩溃问题解决办法介绍_游戏吧...

    近日有玩家表示在逆水寒运行时,部分笔记本会出现崩溃的现象.那么逆水寒游戏运行时电脑崩溃是怎么造成的,又该怎么解决呢?下面游戏吧小编就为大家带来运行游戏时电脑崩溃问题的解决建议. 运行游戏时电脑崩溃问题 ...

  7. JAVA运行时异常及常见的5中RuntimeExecption

    JAVA运行时异常及常见的5中RuntimeExecption 参考文章: (1)JAVA运行时异常及常见的5中RuntimeExecption (2)https://www.cnblogs.com/ ...

  8. 从内存中加载并运行exe(两种方法)

    windows似乎只提供了一种启动进程的方法:即必须从一个可执行文件中加载并启动.      而下面这段代码就是提供一种可以直接从内存中启动一个exe的变通办法.      用途嘛,     也许可以 ...

  9. 从内存中加载并运行exe

    {配合anskya的AnyWhereFileToPas效果不错} { ******************************************************* } { *     ...

最新文章

  1. vlookup示例_VLOOKUP示例–如何在Excel中执行VLOOKUP
  2. linux 系统将某目录下的可执行文件添加环境变量,jenkins创建shell长链接却找不到
  3. flink 不设置水印_从0到1学习Flink—— Flink parallelism 和 Slot 介绍
  4. 信息学奥赛C++语言: 趣味整数5(勾股数)
  5. db2查最新值的前一天值_贵阳6月最新二手房房价出炉!快看你家房子值多少钱?...
  6. 混沌思维模型实战课课件分享
  7. DASCTF2022.07赋能赛 - Pwn easyheap
  8. UE4 如何导入外部插件包
  9. 机器学习——Azure机器学习模型在线搭建实验原理+详细操作步骤+分析(以UCI数据库的数据为例)
  10. Ubuntu衍生发行版使用体验(lubuntu、xubuntu、kubuntu)
  11. 平安性格测试题及答案_【中国平安人寿保险平安保险性格测试特别是智商题通过率怎么样】-看准网...
  12. spring cloud 总结(摘抄版)
  13. python的构造函数的作用,python 构造函数作用
  14. grpc+gateway使用说明
  15. 快手616购物节报告:品牌商家GMV同比增长超5倍
  16. VC++从入门到精通网络教程-不错的网站
  17. Cocos2d开发系列
  18. Android设备在PC端上通过adb push/pull时需要验证的方案解决(push/pull之前需要先通过某些方式验证,之后才能push/pull)
  19. word2007找不到服务器,演示文稿提示无法找到 服务器应用程序、源文件和项目
  20. Amazon Simple Storage Service (Amazon S3) 简介

热门文章

  1. 笔记-项目风险管理-转-从木桶效应谈对于安全管理的认识
  2. spring系列-注解驱动原理及源码-AOP使用及源码解析
  3. oracle-sqlloader的简单使用
  4. 售前笔记(四)——呈现沟通(PPT交流)
  5. 需求评审五个维度框架分析及其带来的启示-2-框架原理
  6. Kotlin 与 Java有什么区别(最全最新的)
  7. C#学习小结(DAY1)
  8. oracle双机冷备方案,Oracle 11g双机冷备
  9. java期末考试试卷及答案文库_备战期末考!初中全科下册期末试卷(含答案)合集,建议收藏!...
  10. 重磅 | 品牌零售行业数据驱动业务指南,全新上线!