第一步
在assets文件夹下创建一个名bundle的文件夹 ,将资源放进文件夹下并且在creator内选择bundle文件夹在右侧属性检查器内将其配置为Bundle
加载bundle资源
function loadBundle(bundleName){
return new Promise<cc.AssetManager.Bundle>(resolve=>{
let bundleUrl = bundleName;
let bundleOption:any={};
cc.assetManager.loadBundle(bundleUrl,bundleOption,(err,bundle:cc.AssetManager.Bundle)=>{
if(err){
console.error(`loadBundle error`,err);
return;
}
resolve(bundle);
})
})
}
从bundle加载龙骨资源
function loadDragonBones(dragonBonesName:string){
let obj:any={};
return new Promise<dragonBones.ArmatureDisplay>(async resolve=>{
let bundle = await loadBundle(dragonBonesName)
bundle.load(`${dragonBonesName}_ske`,dragonBones.DragonBonesAsset,(err,asset:dragonBones.DragonBonesAsset)=>{
if(err){
console.error(`loadDragonBones ske error`,err);
return;
}
obj.dragonAsset=asset;
bundle.load(`${dragonBonesName}_tex`,dragonBones.DragonBonesAtlasAsset,(err,atlasasset:dragonBones.DragonBonesAtlasAsset)=>{
if(err){
console.error(`loadDragonBones tex error`,err);
return;
}
obj.dragonAtlasAsset = atlasasset;
obj.armatureName='idle';//指定默认动作名称
resolve(obj);
})
})
})
}