首先,我们先理一下在cocos中,龙骨资源的属性。
this._armatureDisplay = this.getComponent(dragonBones.ArmatureDisplay);
this._armature = this._armatureDisplay.armature();
在龙骨节点上添加上上面的代码,加断点并调试,我们会看到this._armature上有一个_bones数组:这个正是我们想要的骨骼属性,我们可以用函数getSolt('name')来获取这个骨骼,并通过给该骨骼的childArmature属性赋值(赋的值也是armature属性才可以),来改变改骨骼的动画。
例:
我用一下代码成功改变了机器人的武器,并可以正常播放其他得到动作。
var weapon = this._armatureDisplay.buildArmature('weapon_1005e');
this._armature.getSlot('weapon_r').childArmature = weapon.armature();
原图:本文中的案例可以在cocos官方的git案例上下载
网址:https://github.com/cocos-creator/example-cases