最近在用spine动画做微信小游戏,涉及到角色的武器升级后会切换到另一形态,就研究了一下spine的换装,搜了一些资料发现专门介绍的资料有点少,而且spine官网上说的也不太清楚,好在最后搞出来了,记录一下,以后用的到,废话不多说,如图:
需要切换人物手中的武器,
var temp=cc.find('Canvas/temp'); temp.getComponent(sp.Skeleton).setSkin('lv5'); //设置皮肤 var skeleton = temp.getComponent(sp.Skeleton); var slotName = 'wq2'; //插槽的名字 var targetSkinName ='lv5'; //皮肤的名字 var targetAttaName = "role/wq6"; //武器名字(挂件) var slot = skeleton.findSlot(slotName); //先获取插槽 var skeletonData = skeleton.skeletonData.getRuntimeData();//获取 Spine Runtime 使用的 SkeletonData var slotIndex = skeletonData.findSlotIndex(slotName); //获取插槽的index var skin = skeletonData.findSkin(targetSkinName); //找到对应的皮肤 var atta = skin.getAttachment(slotIndex, targetAttaName); //获取挂件 console.log('change cloth:', slot,skin, slotIndex, atta); slot.setAttachment(atta);//设置挂件
完事(#^.^#)