2.0.7 spine 动态换装失败

spine.skeletonData.getRuntimeData()
该方法报错。

{“line”:44738,“column”:52,“sourceURL”:“src/cocos2d-jsb.js”}

求解!

ERROR: TypeError: undefined is not a constructor (evaluating ‘new sp.spine.TextureAtlas(this.atlasText, this._getTexture.bind(this))’), location: src/cocos2d-jsb.js:44738:52

请问是想整体换还是局部换,能否贴一下你的代码

是局部换,代码如下:

let slot = this.spine.findSlot(type+’-slot’)
let skeletonData = this.spine.skeletonData.getRuntimeData()
let skin = skeletonData.findSkin(‘default’)
const slotIndex = skeletonData.findSlotIndex(type+’-slot’);
let levelIndex = level
// if (level > 60) levelIndex = 60 + Math.floor((levelIndex - 60)/10)
const atta = skin.getAttachment(slotIndex, ${type}-${levelIndex});
slot.setAttachment(atta);

版本:2.0.7
iOS原生平台

有什么临时解决方案吗?
不行的话,我们还得退回到原来的版本。

已经解决。
之前是用到了getRuntimeData()获取原生的spine操作,更换成Skeleton API就可以了
this.spine.setAttachment(type+’-slot’, ${type}-${levelIndex})

3赞

你好,我直接用setAttachment发现无效…虽然不报错了但也没有替换…

你好,你spine局部替换图片是成功了么?能否请教一下?

哥们这个局部换装,在原生下好像没作用啊 setAttachment
你们有什么解决办法么?

碰到一样的问题了,ios平台setAttachment报错找不到,你后面解决了吗