2.4.4Spine的bug汇总,一堆bug没人管

其实cocos能把这个做了已经很不错了
laya和egret 的都不咋管

laya相加监听都得自己写脚本

我指的Anim :rofl:

好吧,也是改complete了 :rofl:

:11:哈哈

这样改下引擎试试:

你后面说的这些问题我在 2.4.4 上都没复现,给你看下我的测试代码。
image

image

image

全都是修改 example-case 的 SpineCtrl.js 脚本,运行 SpineBoy 测试的

你看下如果按照我的代码修改是否能复现你的问题?

SpineCtrl.rar (922 字节)

你先点一下 stop ,相当于执行了 clearTrack,然后再点一下walk,会发现第一次 setEndListener里的回调没有执行

对了,我电脑系统是window7

目前spine支持的版本是3.8。3.8以上的版本可能会出现问题

我用了官方提供的测试案例,也会有问题的

spine 3.7.x版本的导出 应该是最好的

3.7不记得支不支持二进制,升级2.4.4后我让动画升级到3.8了,难受的一批

设置成 RealTime 之后复现了动画回调的问题。之前没复现是设置的 Shared_chache。

嗯,好的,上面说的几个应该都是能够复现的,而且二进制文件和json文件表现不一致也麻烦看下

这个情况我没有复现,我没测试出这种差别。

这个情况我也没有复现

另外你说的情况 1 中,skeleton.clearTracks() 是停止骨骼动画的接口,所以会执行 EndListener 回调这个没问题。情况 2 和情况 3 确实很像是 bug,现在反馈给引擎工程师处理。

时间隔的太久了。当时的测试demo也没了。

spine用的是3.8.8 版本,在window7上跑的网页模式。

当时我用多个spine反复的比对了 spine 用2进制 格式 和 json格式,应该是你复现的姿势有问题。

嗯可能吧,我觉得不必纠结这个。先把明显的错误纠正了。

顺便麻烦问下,clearTracks 不会清除动画中移动过的骨骼数据么?

我让美术做了一个spine,里面有多个 animation,用的是defalut skin。
当animation1 和 animation2 有共用 一根骨骼的时候, 如果在animation1中骨骼位置发生了改变。
此时,spine.clearTracks 之后,播放animation2,发现animation2中动画的位置发生了偏移。

所以必须要在播放 animation2之前,先去setToSetupPose ,才能正常播放。

按我的理解,spine在没有设置 mix动画的时候,重新播放一个新的动画,不应该从新播放么?

clearTracks 不会清除动画中移动过的骨骼数据么?

刚测试了一下 是的

按我的理解,spine在没有设置 mix动画的时候,重新播放一个新的动画,不应该从新播放么?

你说的确实比较合理 之后考虑更改下实现

修改已添加到 2.4.6
https://github.com/cocos-creator/engine/pull/8801

官方太给力了,谢啦!!!
另外还有个预加载掉帧的问题,麻烦关注一下,目前论坛里应该有好几个这个问题的反馈了