cocos 批量给bundle下的文件添加前缀
可以使用以下代码批量给bundle下的文件添加前缀:
let bundle = cc.resources.get('bundleName', cc.AssetManager.Bundle);
let prefix = 'prefix_';
bundle.loadDir('', cc.Prefab, (err, assets) => {
if (err) {
cc.error(err);
return;
}
assets.forEach(asset => {
let oldUrl = asset.nativeUrl;
let newUrl = oldUrl.replace(bundle._config.base, bundle._config.base + prefix);
cc.assetManager.renameAsset(oldUrl, newUrl, () => {
cc.log('Rename asset success: ' + oldUrl + ' -> ' + newUrl);
});
});
});
这段代码会首先获取指定名称的bundle对象,然后使用loadDir方法加载该bundle下的所有Prefab资源。在加载完成后,使用forEach方法遍历所有的Prefab资源,在遍历过程中,使用nativeUrl属性获取资源的绝对路径,然后使用replace方法添加前缀,并将新路径作为第二个参数传递给cc.assetManager.renameAsset方法。当重命名完成后,会输出重命名成功的日志信息。
原文地址: http://www.cveoy.top/t/topic/b2C1 著作权归作者所有。请勿转载和采集!