[原]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)
八 总体目录结构

[原]quick集成spine动画的更多相关文章
- HTML5骨骼动画Demo | 使用min2d、createjs、pixi播放spine动画
Spine做骨骼动画是比较流行的,使用起来可能相对复杂,但功能毕竟强大,所以市场占有率较大. 在unity.cocos2d.starling中使用spine已经很成熟了,而HTML5这一块可能刚刚起步 ...
- spine动画融合与动画叠加
spine动画融合与动画叠加 一.动画融合setMix 1.概述:两个动作之间的平滑过渡 参数duration为需要多少时间从fromAnimation过渡到toAnimation,过渡时间为动画重叠 ...
- 使用lua实现Spine动画的预加载
创建spine动画有两种方法,分别是createwithfile和createwithdata. createWithFile是通过加载动作数据马上进行创建,如果spine动画中的json文件大小超过 ...
- 谈谈Spine动画在产品中的应用
笔者介绍:姜雪伟,IT公司技术合伙人.IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...
- Spine应用--使用Spine动画制作动作游戏
在前面的文章中,已经陆陆续续的讲解了一些使用Spine动画的细节,有了这些细节,我们已经满足了在unity中使用Spine动画制作动作游戏的技术基础. 那么,要使用Spine动画在unity中制作一款 ...
- Spine学习七 - spine动画资源+ Unity Mecanim动画系统
前面已经讲过 Spine自己动画状态机的动画融合,但是万一有哥们就是想要使用Unity的动画系统,那有没有办法呢?答案是肯定的,接下来,就说说如何实现: 1. 在project面板找打你导入的Spin ...
- Spine学习二 -播放Spine动画
要想播放一个Spine动画,必须要在一个物体上绑定一个Spine播放的组件,这里暂时使用SkeletonAnimation组件. 然后就是编写动画的控制脚本. 这里提一个特性: [SpineAnima ...
- SpineRuntime-Presentation - 基于 spine-libgdx 实现在 AndroidPresentation 上展示 Spine 动画
SpineRuntime-Presentation 基于 spine-libgdx 实现在 AndroidPresentation 上展示 Spine 动画 Github地址 效果 可以在 Andro ...
- 集成骨骼动画Spine的几点经验
最近开始用cantk做些复杂的游戏,其中一个游戏的DragonBones骨骼动画的JSON文件就达600K,导出之后显示各种不正常,可能是太复杂了,有些方面达到了DragonBones的极限.拿到官方 ...
随机推荐
- Winform 中的KeyDown
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- (转载)Autodesk面试技术题解答
Autodesk面试技术题解答 By SmartPtr(http://www.cppblog.com/SmartPtr/) 近一年以来,AUTODESK的面试题在网上是闹的沸沸扬扬, ...
- 基于OWIN WebAPI 使用OAuth授权服务【客户端验证授权(Resource Owner Password Credentials Grant)】
适用范围 前面介绍了Client Credentials Grant ,只适合客户端的模式来使用,不涉及用户相关.而Resource Owner Password Credentials Grant模 ...
- os.popen(command)
command="/usr/local/sbin/xxx_cmd" os.popen(command) xxx_cmd是自己编译的二进制文件,如果不加上全路径/usr/local/ ...
- Hash哈希(一)
Hash哈希(一) 哈希是大家比较常见一个词语,在编程中也经常用到,但是大多数人都是知其然而不知其所以然,再加上这几天想写一个一致性哈希算法,突然想想对哈希也不是很清楚,所以,抽点时间总结下Hash知 ...
- js笔记:匿名函数
;(function(){ alert('啥也没做');})(); 会弹框. 这是个匿名函数.最前面的分号可以去掉,仅仅是在代码压缩时防止出错. 该函数可以拆解成非匿名函数: var a= funct ...
- 【Android】事件总线(解耦组件) EventBus 详解
当Android项目越来越庞大的时候,应用的各个部件之间的通信变得越来越复杂,例如:当某一条件发生时,应用中有几个部件对这个消息感兴趣,那么我们通常采用的就是观察者模式,使用观察者模式有一个弊病就是部 ...
- eclipse中gradle的使用
安装gradle gradle默认的本地缓存库在c盘user目录下的.gradle文件夹下,安装好gradle后,可以添加环境变量GRADLE_USER_HOME自定义缓存位置. 安装eclipse插 ...
- atitit.无线网卡 不能搜索到WiFi 无线路由信号的解决不能上网
atitit.无线网卡 不能搜索到WiFi 无线路由信号的解决不能上网 #---现象 pc机无线网卡不能搜索到无线路由信号.. 但是笔记本和手机是可以的... 不过pc机无线网卡能搜索到别的路由的信号 ...
- JS变量的作用域
深入理解JavaScript变量的作用域 1.JavaScript的作用域链 2.函数体内部,局部变量的优先级比同名的全局变量高. 3.JavaScript没有块级作用域. 4.函数中声明的变量在 ...