DragonBones 组件可以对骨骼动画资源进行渲染和播放。
添加方式:
添加组件 -> 渲染组件 -> DragonBones
组件简单介绍:
1.Dragon Asset:骨骼信息数据,包含了骨骼信息(绑定骨骼动作,slots,渲染顺序,attachments,皮肤等等)和动画,但不持有任何状态。多个 ArmatureDisplay 可以共用相同的骨骼数据。
2.Armature:当前使用的骨骼名称。
3.Animation:当前使用的动画名称。
4.Play Times:播放默认动画的循环次数。-1 表示使用配置文件中的默认值;0 表示无限循环;>0 表示循环次数。
其他的参数可以看下cocoscreator官方文档的详细介绍。
dragonBones.ArmatureDisplay常用属性和方法:
armatureName :当前的 Armature 名称。
animationName:当前的Animation名称。
playAnimation(动画名称,播放次数)。
getAnimationNames(armature名称)。获取指定的 armature 的所有动画名称。
getArmatureNames():获取 DragonBones 数据中所有的 armature 名称。
on、off、once:添加 DragonBones 事件监听器。
常用事件:
dragonBones.EvenObject.START : 动画开始播放。
dragonBones.EvenObject.LOOP_COMPLETE : 动画循环播放完成一次。
dragonBones.EvenObject.COMPLETE : 动画播放完成。
getArmatureKey
缓存龙骨数据的key值,换装的时会使用到该值,作为dragonbonesName使用。
//龙骨工厂实例
let factory = dragonBones.CCFactory.getInstance();
//通过插槽名称获取需要改变的骨骼插槽
let needChangeSlot = needChangeArmature.armature().getSlot("changeSlotName");
//替换插槽显示(需要改变的骨骼数据值,骨骼名称,插槽名称,显示名称,需要改变的插槽)
factory.replaceSlotDisplay(toChangeArmature.getArmatureKey(), "armatureName", "slotName", "displayName", needChangeSlot);
后续深入使用会继续更新。