【美年达的开发日记】龙骨操作 - 替换插槽内的龙骨实现换装

loadDragonBones 方法参考上一篇加载龙骨的文章 【美年达的开发日记】龙骨操作 - 从bundle加载龙骨

如果龙骨插槽上绑定的是另一个龙骨文件,那么以下可以替换龙骨插槽上的龙骨文件,实现对插槽的换装


async function replaceSkin(bundleName,armatureDisplay,slotName){
  let asset = await loadDragonBones(bundleName);
  let armature = armatureDisplay.armature();
  var slot = armature.getSlot(slotName);

  let node = new cc.Node();
  node.addComponent(dragonBones.ArmatureDisplay);
  let bones =  node.getComponent(dragonBones.ArmatureDisplay);
  bones.dragonAsset = asset.dragonAsset;
  bones.dragonAtlasAsset = asset.dragonAtlasAsset;
  bones.armatureName=bundleName;
  
  let factory = dragonBones.CCFactory.getInstance();
  let weapon =  factory.buildArmature(bundleName);

  slot.childArmature = weapon;
}
2赞

有没有演示可以看?