龙骨动画局部换装问题(部分解決)

我是刚接触Cocos Creator的小白,最近因为项目需要做局部换装,不太清楚需要注意什么,美术已经做好了拆图做好了动画,到处找了关于cocos龙骨动画的局部换装资料,还是不太清楚具体怎么用?
需要实现的功能是局部换衣服和装备显示的部件;

这是我查到的说明,发现即使是let slot = armature.getSlot(“weapon”) 这句也会报错;

使用的版本是Creator 2.0.9 ,龙骨版本5.6
顺便问一句,是不是spine的局部换装更好做一点?
还请大大帮忙解答小白的问题,感激,困扰了几天~

emmm

同求解决方案

前几天刚好鼓捣过……按照龙骨官方的介绍,把需要更换的装备统一做到同一根slot上,然后需要换是改变slot上的displayIndex即可。暂时不支持跨图换装,所有装备得在一张图上!!!代码应该是拿龙骨display组件然后_armature.getSlot,看看官方例子,实在不明白@我

好的,谢谢,我先试试; 我需要更换的比较简单,需要更换的图全部都在一个图集里,另外就是 甚至不需要换图,只需要隐藏或者显示插槽,请问这个怎么处理? @lbeeboy

谢谢大佬~

明天给你贴代码

let display = this.node.getComponent(dragonBones.ArmatureDisplay);
display._armature.getSlot(“xxx”).displayIndex = -1; //改变不同的index就可以实现换装,做龙骨时,同一条slot上要放上所有需要更换的装备

1赞

谢谢,

这个方案不支持native, native提示displayIndex未定义

1赞

哎。。我这600多件装备。。那大小。。。老开心了。。。

1赞

这个方案不支持native, native提示displayIndex未定义

并不一定要用更改displayIndex方法,特别是有大量同类可换部件的情况下,不可能全放进一个slot里的,最好是先分类,然后在龙骨里做一个影片剪辑(相当于另一个龙骨工程),用factory.replaceSlotDisplay的方法去替换,这样就是跨龙骨工程替换。

你好,我想问下我现在用这个factory.replaceSlotDisplay替换插槽,能替换成功,但是位置怎么调都是错误的,能指导下这个到底应该怎么设置吗

[quote=“251081584, post:12, topic:76045”]
factory.replaceSlotDisplay
[/quote]这个替换后的位置要怎么调整才对

老哥,有解决办法吗?

在这一步factory.replaceSlotDisplay之前, 将要替换的武器龙骨的对应卡槽的origin设置一下,需要偏移的X和Y,然后执行factory.replaceSlotDisplay,就可以起到调整位置的效果