cocos-lua使用骨骼动画

貌似cocos源码build的时候已经把spine写成了sp,算了。这个有时间在去研究吧。先说导入引用

--第一个参数是spine导出的3个文件中json文件,第二个参数是atlas文件,第三个参数是显示的倍数,如果不知道用spine怎么导出,可以去这里看


local girl = sp.SkeletonAnimation:create("block/common/role/girl.json", "block/common/role/girl.atlas",2)

girl:setPosition(cc.p(300,200))

self:addChild(girl) --这里self是一个场景


骨骼动画下有一个timeScale属性,是设置他的播放速度,如下

girl.timeScale = 0.5


接下来给他设置一个默认动作

girl:setAnimation(0, "running", true)  

第一个参数意思是trackIndex,如果你有兴趣可以可以直接去这里看看,第二参数是动作的名字,最后一个是否循环播放。


girl:setMix("running", "jump", 0.2)

设置俩个动作的过度,过度时间


骨骼动画的监听回调

girl:registerSpineEventHandler(function(event) 

    --这里是回调

end, sp.EventType.ANIMATION_START)  


下面是回调的几种类型:

    sp.EventType.ANIMATION_START --开始播放动画的回调

    sp.EventType.ANIMATION_END --播放动画结束的回调

    sp.EventType.ANIMATION_COMPLETE --播放动画完成的回调

    sp.EventType.ANIMATION_EVENT --播放动画事件的回调


这里说一下,默认动画播放的时候,开始播放及结束播放都不会产生回调,只有完成的回调,但是如果它切换到下一个动画,就会有开始播放及结束播放、完成播放的回调。

你可能感兴趣的:(cocos-lua)