一、基本使用:
self.skeletonNode = sp.SkeletonAnimation:create("sptest/spineboy.json", "sptest/spineboy.atlas", 0.3)
self.skeletonNode:setAnimation(0, "walk", true)
self.skeletonNode:setMix("walk", "jump", 0.2)
self.skeletonNode:setMix("jump", "run", 0.2)
self.skeletonNode:setAnimation(0, "walk", false)
self.skeletonNode:addAnimation(0, "hit", false)
self.skeletonNode:setDebugBonesEnabled(true)
self.skeletonNode:registerSpineEventHandler(function (event)
print(string.format("[spine] %d start: %s", event.trackIndex,event.animation))
end, sp.EventType.ANIMATION_START)
2、播放其他动画是用add
3、当set的动画播放完毕停止之后(非循环),再add动画是不会动的。
4、mix 就是让2个动画直接的衔接更平滑,最后一个参数是过渡时间
二、track的概念
做音频的有个概念,叫音轨,就是track,基本比如录歌,有个主唱,有和声,有吉他,有贝斯。那么把这些分别录制,再一起放出来,就是一首歌,分别录制的这些,就是一个个独立的音轨,一起放出来就是我们最后听到的歌曲。
对比PS,这个概念叫图层。
所以其实可以把不同的动作放到不同的track中去做。
三、回调中的处理以及bug
1、回调
正常情况下,都会对一个动画的完结做一些处理。比如我需要的就是,当动作A完成后,播放动作C。基本写法如下:
s