原 quick整合spine動畫

2022-03-28 03:23:56 字數 2169 閱讀 3440

更新說明:

新增了骨骼繫結node用法

參考:在skeletonrenderer.h 和cpp裡面新加了以上鏈結的內容,在skeletonrenderer_luabinding.tolua需要新添ccnode* skeletonrenderer::getnodeforslot(const char* slotname)

三、將spine檔案拷貝到quick-2.2.5-plus\lib\cocos2d-x\extensions目錄下,引入到vs工程。特別注意 dragonbones下的一些檔案 和spine檔案同名,需要修改spine裡面對應的名字

四、需要匯出skeletonanimation和skeletonrenderer類供lua使用。

skeletonanimation.h和skeletonrenderer.h製作好tolua檔案,skeletonanimation_luabinding.tolua 和skeletonrenderer_luabinding.tolua放到quick-2.25+plus\quick-cocos2d-x-master\lib\cocos2d-x\external\extra\luabinding下

在build.bat後面新增

call %make_luabinding% -d %output_dir% skeletonanimation_luabinding.tolua

call %make_luabinding% -d %output_dir% skeletonrenderer_luabinding.tolua

執行 build.bat生成c++繫結,生成的檔案引入vs

五 c+呼叫匯出函式

在ccluastack.cpp 引入匯出的c++類,

#include "skeletonanimation_luabinding.h" 

#include "skeletonrenderer_luabinding.h"。

初始化函式呼叫

luaopen_skeletonrenderer_luabinding(m_state);

luaopen_skeletonanimation_luabinding(m_state); 

注意一定先調skeletonrenderer再調skeletonanimation,也就是先調父類再調子類,反了回報 addchild錯誤之類的

六 lua呼叫spine動畫

local skeletonnode1 = skeletonanimation:createwithfile("spineboy.json", "spineboy.atlas", 0.6);

skeletonnode1:setanimation(0, "walk", true);

skeletonnode1:setposition(ccp(display.width/2,display.height/2))

self:addchild(skeletonnode1);

新增骨骼繫結node用法

local slot = skeletonnode1:getnodeforslot("muzzle") --需要繫結骨骼的名字

slot:addchild(sp) --需要繫結的node

七:android下使用注意事項

1、quick-2.2.5-plus\lib\cocos2d-x\extensions下的android.mk裡面新增spine下的.c和.cpp檔案

2、quick-2.2.5-plus\lib\cocos2d-x\external下android.mk新增匯出的兩個cpp檔案(skeletonanimation_luabinding和skeletonrenderer_luabinding)

八 總體目錄結構

骨骼動畫詳解 Spine

遊戲中人物的走動,跑動,攻擊等動作是必不可少,實現它們的方法一般採用幀動畫或者骨骼動畫。幀動畫與骨骼動畫的區別在於 幀動畫的每一幀都是角色特定姿勢的乙個快照,動畫的流暢性和平滑效果都取決於幀數的多少。而骨骼動畫則是把角色的各部分身體部件繫結到一根根互相作用連線的 骨頭 上,通過控制這些骨骼的位置 旋...

骨骼動畫詳解 Spine

遊戲中人物的走動,跑動,攻擊等動作是必不可少,實現它們的方法一般採用幀動畫或者骨骼動畫。幀動畫與骨骼動畫的區別在於 幀動畫的每一幀都是角色特定姿勢的乙個快照,動畫的流暢性和平滑效果都取決於幀數的多少。而骨骼動畫則是把角色的各部分身體部件繫結到一根根互相作用連線的 骨頭 上,通過控制這些骨骼的位置 旋...

骨骼動畫詳解 Spine

遊戲中人物的走動,跑動,攻擊等動作是必不可少,實現它們的方法一般採用幀動畫或者骨骼動畫。幀動畫與骨骼動畫的區別在於 幀動畫的每一幀都是角色特定姿勢的乙個快照,動畫的流暢性和平滑效果都取決於幀數的多少。而骨骼動畫則是把角色的各部分身體部件繫結到一根根互相作用連線的 骨頭 上,通過控制這些骨骼的位置 旋...