首先,spine动画做好之后,我们先把它导出来,放在cocos里面。
今天写文章的时候,才发现cocos最高只能支持到spine3.8.99。
第一:插槽的显示和隐藏
最简单的一种方法就是把插槽的透明度调成0,这样子插槽就隐藏起来了。
我们在cocos用代码把它实现出来,先找到插槽,然后设置透明度为0。
this.spine.findSlot(‘raptor-front-leg’).color.a = 0;
运行一下脚本,就会看到spine的插槽已经被隐藏了。除了改变透明度,我们也可以直接把插槽隐藏起来。
this.spine.findSlot(‘raptor-hindleg-back’).bone.active = false;
第二:局部换装我们可以替换插槽或者替换插槽下面的图片来进行实现。
const slotName = ‘gun’;
const targetAttaName = 'head'; const slot = this.spine.findSlot(slotName); const skeletonData = this.spine.skeletonData.getRuntimeData(); const skin = skeletonData.findSkin('default'); const slotIndex = skeletonData.findSlotIndex(slotName); const attachment = skin.getAttachment(slotIndex, targetAttaName); slot.setAttachment(attachment); this.spine.invalidAnimationCache();
此外,我们还可以更换spine里面的皮肤进行换装。
this.spine.setSkin(‘full-skins/boy’);
第三:在spine上面绑定挂定,让挂点跟着骨骼一起移动,这个引擎已经帮我处理好了,只要选一个设置一下挂点的父骨骼和要挂载的节点就可以了。