mark一下
build后是能拿到完整的build资源配置的,你可以通过依赖关系去处理。
比如prefab上挂载了音频,这样就可以拿到prefab的依赖资源音频的uuid了。
当然有的资源是不明确的,比如一个场景资源,需要你自己定义一份配置,声明下场景是A类资源,然后就能确定这个场景依赖的资源都属于A。
大佬的意思是我查里面的uuid,如果和我的关联上了则直接放到对于的模块里面吗?
兄弟 你的demo我跑起来了。有些疑惑的地方:
- project.manifest version.manifest这个有什么用? 大厅部分的资源更新管理 直接用hall_project.manifest hall_version.manifest这个不就好了吗?
2.执行完脚本后 remote-assets-sub res目录下没有import文件夹 这个正常吗? 用这个目录下的资源去替换jsb-link下面的相应资源 会导致加载main场景 报错。应该是丢失了import下面的资源。
望指教。
- project/version.manifest文件对分包方案暂时无用,是一份包含所有资源的配置。
- 没有import文件夹感觉不太正常,你需要看下对应模块的配置文件xx_project.manifest中是否用到了import里的资源。
需要你自己排查下是否没有正确的拷贝资源到 remote-assets-sub目录中。
mrak
####有个问题
按照楼主的思路,假如有很多小游戏,10多个样子,而小游戏经常修改,大厅和小游戏的代码是在一起的,岂不是每次进游戏都不会不停的更新。
没有太明白你的问题。
所有代码都是在一起的,所以代码的更改需要考虑到是否会对其他模块造成影响,这是这个方案的一个弊端。
至于是否会造成频繁更新是跟业务逻辑相关的,假设你改了其中一个小游戏代码(理论上这些代码不应该对其他小游戏造成影响),那么就不用更新其他小游戏。
finish是判断更新 成功 还是 失败的,是否处理可由自己决定。
demo里我没有处理失败,都当成功情况处理了(从我们自己以往的运营项目看,会出现更新失败的情况,但实际上是更新成功了)
下载过程中有些资源可能下载失败,这个是尝试重新下载失败的资源。
失败后你可以重头开始走更新的流程
我这边已经跑通了 我想大厅模块包含代码更新 然后其他子游戏只进行资源更新 应该怎么处理
这个恐怕没办法,因为creator现在不支持分包,同一个项目里的代码都会合并成一个文件。
现阶段做的只能是通过逻辑层,减少子游戏代码之间的耦合,尽量做到代码的更新不会影响到其他模块的逻辑。
大佬有没有遇到,热更新成功,执行 cc.game.restart 后,部分资源不是最新的
大佬.你好.我用cocos creator 2.版本, 我下载了update_sub这个zip,我新创建了工程,直接把asset目录拷贝到新工程中,把插件main.js拷贝到package目录下,当我点构建的时候报错, 错误提示为 interal资源没有分组… 请问我应该怎么做呢? 还是我有什么步骤弄错了. 错误提示:请注意,以下资源未设置游戏名称:[{“uuid”:“0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7”,“url”:"db://internal/resources/effects/builtin-2d-spine.effect…
Mark一下,后面再来看
楼主 你好 按照你的思路 我采坑2.3.1版本大厅+子游戏更新方案后 打包时放在根目录的大厅配置文件 在jsb.fileUtils.getStringFromFile 获取内容时 返回的是空串 你用的什么版本 有没有遇到这个问题 可否指出问题出在哪里
个人觉得做子游戏分离为了解决的核心问题就是代码隔离,一个游戏出错了,不影响其它游戏。
这一套子游戏版本不明确。游戏和游戏之间,大厅和游戏之间相互影响。还不如直接做成进入游戏就热更新还爽快一些。(只支持抽离资源文件倒是很不错)
官方2.4版本已支持资源分包,相信这是更好的解决方案,此贴结贴。