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 --播放動畫事件的回調


這裏說一下,默認動畫播放的時候,開始播放及結束播放都不會產生回調,只有完成的回調,但是如果它切換到下一個動畫,就會有開始播放及結束播放、完成播放的回調。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章