最近在用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);//設置掛件
完事(#^.^#)