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

正式版会支持,最近一直在查

麻烦先卸载掉preview版本,然后把对应的目录删除干净,CocosDashboard\resources.editors\Creator\2.4.0-preview,然后重新下载试试

抱歉,这个可能得2.4.1了

抱歉,这个应该得2.4.1了

请问loadBundle带版号去还是不会去下载远端bundle是正常的吗?

当已经下载该bundle之后,想要下载新版的bundle却不会下载?
下载方式如下,version为bundle内的config.a5c7e.json md5数值:

cc.assetManager.loadBundle('01_graphics', { version: 'a5c7e' }, function (err, bundle) {
    if (err) {
        return console.error(err);
    }
    console.log('load bundle successfully.');
});

不太正常,如何复现呀?

我有个疑问,为啥选择bundle的目标平台为Android,构建出来的bundle中的 js 文件没有加密?

压缩纹理体积会变大,会影响加载速度

构建时有勾选加密js么?

楼主,我有个问题 :
现在的bundle 设置方法是,每个文件夹都得设置下,那么 在设置的过程中,我还看到了 需要设置目标平台(比如android、ios),是不是 每次打包编译多平台,还得回来把文件夹都得重新勾选下目标平台,然后才能打包呢?
这样的话,是不是就无法抹平跨平台的问题?因为每次打包目标平台还得回来重新设置下bundle文件夹的目标平台

谢谢

构建的时候勾选了JS加密的,你可以试一下,必现的。

打开 bundle 目录下的 index.js,文件如下:

(function r(e, n, t) {
function i(u, f) {
if (!n[u]) {
if (!e[u]) {
var _ = u.split("/");
_ = _[_.length - 1];
if (!e[_]) {
var p = "function" == typeof __require && __require;
if (!f && p) return p(_, !0);
if (o) return o(_, !0);
throw new Error("Cannot find module '" + u + "'");
}
u = _;
}
var a = n[u] = {
exports: {}
};
e[u][0].call(a.exports, function(r) {
return i(e[u][1][r] || r);
}, a, a.exports, r, e, n, t);
}
return n[u].exports;
}
for (var o = "function" == typeof __require && __require, u = 0; u < t.length; u++) i(t[u]);
return i;
})({}, {}, []);

不用的,目标平台设置过的都能保存下来,只用设置一次,之后构建的时候会选对应平台的设置来构建,不用来回切换

感谢,我们确认一下

文件夹bundle 也不需要一个个目标平台设置吗? 我看设置文件夹为bundle的时候,有目标平台选择

@EndEvil
请问assetManager的load函数会将原始数据转换成传入的格式,那么原始数据是否还会有一份在内存?

我这边跑了一下 demo,没能复现问题,请问是安卓什么机型

文件夹上的目标平台下面那几个设置都是多选的,每个平台设置一次之后,所有平台的设置都会保存下来,不用每次构建其他平台的时候重新设置一次

我没太看懂你的意思,能举例说明一下么

比如加载一个json,
读取文件出来是string吧?
cc.assetManager.load传入的是cc.JsonAsset,那得对string调用JSON.parse,再组装cc.JsonAsset吧?
那么原来的string是释放么?还是继续持有在内存中?