有用过spine骨骼动画的请进

this.m_player = new sp.SkeletonAnimation(res_armature.ren, res_armature.ren);
this.m_player.x = winSize.width/2;
this.m_player.y = winSize.height/2 + 0;
this.m_player.setAnimation(0,“shakeleft”,true);
this.m_player.setAnimationListener(this, this.spineAniStateEvent);
this.addChild(this.m_player, LayerIndex_UI.Player);

spineAniStateEvent:function(obj,trackIndex,type,event,loopCount)
{
cc.log(“run”);
//cc.log(“spine run:”+obj+",traceIndex:"+trackIndex+",type:"+type+",event:"+event+",loopCount:"+loopCount);
}

spineAniStateEvent 根本就不会回调触发,官方下的包里的例子也是没触发的,这个spine的事件函数到底能不能用的呢?害死人呀,~~~~

能用啊。
你看看sp.SkeletonAnimation和sp.Skeleton源码有没问题吧
这2个我自己改过

我直接下的官方的…不触发…愁死

确实不能触发,官方的例子里面的注释是这样的:
// Make Spine’s Animated skeleton Node
// You need ‘json + atlas + image’ resource files to make it.
// No JS binding for spine-c in this version. So, only file loading is supported.
啥时候能对spine完整支持啊。。。。

cocos2d-js 3.2 setCompleteListener 这个是可以触发的

算了,我已经放弃了,同是3.2,貌似C++版播放动画就正常,但是JS版就不正常,难道JS只是把版本号改一下?把语法改一下?这些第三方的支持都没跟上,太坑爹了~!!!

昨天折腾半天,发现新版本的spine已经没有setAnimationListener这个方法了,取代的是setStartListener、setEndListener这几个。jsb的spine相关类自动绑定里面是绑定了这几个方法的。解决的办法是不使用setAnimationListener,使用新绑定的几个方法。

算了,我放弃了这个spine了,现在cocos2dx-js 3.2的spine,不支持1.9.x的spine输出的动画,降级到1.7.x的spine输出,动画在网页上播放是有问题的,但是在cocoside里面调试一点问题都没有,我估计cocoside里使用的是c++生成的调试器导致的,跟网页浏览器上的表现完全不一样,我还是用回 ccarmature了~~~,起码这个稳定点~~~

把spine升级到最新的runtime就可以了

runtime是没有问题的,你发布出来还是用cocos2dx-js来发布,这个就不是runtime了,我觉得这个runtime是c++编译出来的,c++的3.2版本播放最新的spine导出动画一点问题都没有,所以在runtime下调试是正常的,但是你发布出来js,打包好以后,就不行了,js库根本就是旧的,没有同步更新到支持最新的spine

cocos2d-js3.2 有没有支持 最新spine版本2.1 的runtime?js版本的?

js的不支持

绑定的问题 重新绑定一下就好了

1.9x 版本的spine 相对于1.73的有什么牛X的地方没。 我1.73 在web 端没遇到什么大问题的