Cocos Creator v2.4.0-rc.9 测试帖(正式版已发)

好的感谢,我把所有动态释放的都改一遍,好在不多。
请问:

cc.loader.releaseRes(url);

这个函数要换成哪个呢?我这里传入的是一个URL @EndEvil

场景scene放到了A文件夹下面,scene所用到的脚本在B和C文件夹里面,将文件夹A设置成bundle后,我理解会自动把scene所引用的文件打包到同一个bundle里面,我需要什么其他的设置吗?

抱歉,目前脚本没有这么智能,只有资源会将引用的资源一起打到bundle中,但是脚本就只能全部都放到 bundle 下面,后续我们再看下怎么优化下吧

好的感谢,我把所有动态释放的都改一遍,好在不多。

有兴趣的话,可以尝试下新的自动释放机制,用 addRef 和 decRef 来控制引用,这样能避免错误得调用release导致共享的资源被释放掉

这个函数要换成哪个呢?我这里传入的是一个URL

换成 cc.resources.release 就好

嗯明白,我试试看。

知道啦,谢谢

请问如果一个prefab在main bundle中,
而prefab中有一个资源A在resources目录下,也就是在resources bundle中,
加载scene实例化prefab是否会导致因为资源A的问题而去下载整个resources bundle?
还是说只下载config.json和资源A,同时preload resources bundle?

@EndEvil

加载scene实例化prefab是否会导致因为资源A的问题而去下载整个resources bundle?

只会去下载单个资源

还是说只下载config.json和资源A,同时preload resources bundle?

首先资源如果引用其他bundle内的资源的话,如果该bundle还没有加载的话,是不会去自动下载的,会抛出异常,需要开发者在加载该资源之前,就提前用 loadBundle 把依赖bundle加载好。依赖 bundle 加载好之后,该资源就能正常加载了

emmmm,
因为除start-scene外,其他场景都在main bundle,
然后main bundle里的scene有可能依赖到resources bundle的某些资源。

所以,启动时,引擎加载显示start-scene后,
我得手动去loadBundle(‘main’);
然后,如果我们设计场景过程中(人肉)发现依赖其他资源,还得在loadBundle(‘main’)之前loadBundle(‘resources’)?

需要说明一下,loadBundle 的顺序是无所谓的,你是可以 loadBundle (main) 之后 再 loadBundle(resources) 也没问题的,因为 loadBundle 的时候不会加载任何资源,只是去下载一个配置表。只是当你从 main bundle 中加载了一个资源,这个资源又属于 resources 的时候,这个时候就必须要求执行过了 loadBundle(‘resources’), 不然这个资源就会找不到,所以只要在真正用到该资源之前,加载对应的 bundle 都是可以的。

建议你在 start-scene 后, 把 main 和 resources 都加载了,另外,为了避免记那个资源依赖哪个bundle,建议按照bundle的优先级进行加载,按照优先级进行加载是肯定没问题的。

了解
感谢解答。

如果bundle指定了压缩类型,就会下载整包是吧?

大佬,之前那个打包微信 iOS没问题,安卓有问题的问题 解决了吗

下个版本解决哈,马上更新

bundle 指定了 zip 和 subpackage, 会下载整包,另外,bundle的依赖可以用这种方式查询,

明白,谢谢

感谢哈,看到更新了

no problem

官方例子项目,有几个报错,AssetBundle的例子,加载Bunlde,报错bundle找不到。有个module报错 object已经销毁。。。等等

这么大个版本 一个月就rc了 实在神速

请问是什么平台?如果是预览的话,Asset Bundle 场景现在不支持在预览用

有个module报错 object已经销毁

具体是哪个场景呢