[原]quick集成spine动画
更新说明:
新增了骨骼绑定node用法
参考:http://blog.csdn.net/n5/article/details/21795265
在SkeletonRenderer.h 和cpp里面新加了以上链接的内容,在SkeletonRenderer_luabinding.tolua需要新添CCNode* SkeletonRenderer::getNodeForSlot(const char* slotName)
下载地址:http://pan.baidu.com/s/1bnyJw1h 密码:sr2o
播放效果:
1、去下载spine的runtime库 地址:https://github.com/EsotericSoftware/spine-runtimes 文件结构
二、把spine-c下的include和src 统一整理到spine文件夹,将spine-cocos2d-x/2/src/spine下源码拷贝到之前的spine目录:
三、将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)
八 总体目录结构