cocos2d-js V3.0 V3.1使用DragonBones
DragonBones是Adobe支持的一个开源项目,用于制作和播放骨骼动画,官网地址是:http://dragonbones.effecthub.com/。DragonBones首先在Flash和Starling引擎上使用,后续继续推广支持多个游戏引擎,现在已经能很好的支持HTML5和cocos2d-x。
DragonBones提供了Flash的插件,用于生成骨骼动画文件,称为DragonBonesDesignPanel,结合Flash和DragonBonesDesignPanel可以很方便的完成骨骼动画制作。相对而言,DragonBones在制作上比Cocos Studio的动画编辑器更方便,也更符合设计师的使用习惯,因为大部分设计师都有Flash使用经验。
由于cocos2d-js V3.1只支持2.0到2.2版本的DragonBonesDesignPanel,所以我们不能直接使用官网提供的最新版DragonBonesDesignPanel。我们只能使用cocos团队修改过的DragonBonesDesignPanel V2.0,访问http://www.cocoachina.com/bbs/read.php?tid=154886下载。说起这个2.0版本的下载地址,一把辛酸泪啊。只相隔那么一年,cocos的论坛由于做了合并,原来的帖子地址都变了,而DragonBones这种外来物种,没有足够地位,cocos团队都忘记这个DragonBonesDesignPanel V2.0了。笔者我好不容易才翻箱倒柜找到这个下载地址。
另外,网上也有高手(zrong)制作了专门支持cocos2d的DragonBonesDesignPanel V2.2版本,下载地址是:https://github.com/zrong/dragonbones-for-cocos2d-x/tree/master/build。
额外提醒一下,安装DragonBonesDesignPanel后,这个插件会自动升级,如果过一段时间发现cocos2d-js无法加载DragonBonesDesignPanel导出的文件,就要拿出旧版的安装文件重新安装了。
另外,由于DragonBones和Cocos2d-js都是开源的, 所以如果还有进一步问题,我们可以学习一下zrong,自己动手修改代码。当然,你需要知道怎么用Flash builder。。。说到DragonBones源代码也是一个纠结的事,官方并没有放出所有历史版本,害得我也是累死累活的才找到V2.2和V2.0的版本回来做比较。分享给大家:
只需要按照DragonBones的制作规范制作动画,再使用修改版的DragonBonesDesignPanel,就可以轻松在cocos2d-js加载DragonBones骨骼动画。
如果使用zrong的版本,导出时直接选择cocos2d版本,导出的是plist、大图和xml;而cocos提供的2.0版本则导出碎图+xml,我们还需要另行把碎图变成Spritesheet。
加载的代码很简单:
ccs.armatureDataManager.addArmatureFileInfo("res/dragonbones/skeleton.png", "res/dragonbones/skeleton.plist", "res/dragonbones/skeleton.xml"); var armature = new ccs.Armature("Dragon"); armature.getAnimation().play("stand"); armature.getAnimation().setSpeedScale(24/60);
播放时,大家可能会发现卡顿或跳动的情况,那是因为在cocos2d-js中使用DragonBones,还有一个额外的规范。每个动作的最后一帧需要把所有的部件回位,否则就出现跳动。因为最后一帧到第一帧这个过程,DragonBones自己的运行库会做平缓过度,而cocos2d-js解析则没有这个过度,所以我们就要自己动手加一帧了。
凑合着,还是可以用起来了。不过,cocos2d-js肯定比不上DragonBones官方自己的运行库了,而现在DragonBones已经有C++版本了:https://github.com/DragonBones/DragonBonesCPP,说白了就是为了支持cocos2d-x。我们可以考虑自行加上js绑定,从而让cocos2d-js也用上最新版的DragonBones。咳咳,当然,这个工作得有需求推动啊,如果有时间的话,笔者也许会尝试一下吧。
cocos2d-js V3.0 V3.1使用DragonBones的更多相关文章
- FineUI(专业版)v3.0.0 发布,手机、平板和桌面全支持!
FineUI(专业版)v3.0.0 已经正式发布,全面支持手机.平板和桌面! 自 2008 年 4 月发布第一个版本,我们持续更新了 126 个版本,拥有 16000 多位注册用户,130 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V3.0 版本强势发布
继上个版本“RDIFramework.NET V2.9版本”的推出,受到了重多客户的认可与选择,V2.9版本是非常成功与稳定的版本,感谢大家的认可与长期以来的关注与支持.V3.0版本在V2.9版本的基 ...
- 知道创宇研发技能表v3.0
知道创宇研发技能表v3.0 2015/8/21 发布 by @知道创宇(www.knownsec.com) @余弦 & 404团队 后续动态请关注微信公众号:Lazy-Thought 说明 关 ...
- Cocos2d-JS v3.0 alpha
Cocos2d-JS是整合了Cocos2d-html5 v3.0 alpha和Cocos2d-x JSBinding的新JS引擎仓库.整合之后的核心优势在于Html5和JSB的开发流程及API现在变得 ...
- Cocos2D-X v3.0 alpha1环境搭建
周末看了下Cocos2D,感觉用起来还是挺爽的样子,跨平台,支持Windows, Linux, Mac, IOS, Android,WP...N多平台..还是C++开源滴,果断下下来研究下.. 最新版 ...
- 【cocos2d-js官方文档】二十五、Cocos2d-JS v3.0中的单例对象
为何将单例模式移除 在Cocos2d-JS v3.0之前.全部API差点儿都是从Cocos2d-x中移植过来的,这是Cocos2d生态圈统一性的重要一环.可惜的是,这样的统一性也在非常大程度上限制了C ...
- 【cocos2d-js公文】十八、Cocos2d-JS v3.0物业风格API
1. 新的API风格 我们直接来看看你能够怎样使用Cocos2d-JS v3.0: 曾经的API 新的API node.setPosition(x, y); node.x = x; node.y = ...
- 固定底部导航菜单-续集(BottomMenu-移动端V3.0)
固定底部导航菜单-续集(BottomMenu-移动端V3.0) 适应在客户端,点击弹出二级菜单.因为手机不支持hover.所以使用click点击实现弹出菜单,并且一级菜单聚焦变色,变化背景图片 核心c ...
- Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇
由于来源身份不明.越权操作.密码泄露.数据被窃.违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅.几种常见的运维人员背黑锅场景:1)由 ...
随机推荐
- IP的准确性
最近游戏项目中更新机制有所修改,游戏启动时会从cdn上读取一个文件(约60B),但是后台异常收集系统中发现很多玩家请求不了该文件(libcurl的get请求),返回的error code有很多种,以6 ...
- 通过泛型来简化findViewById
我们一般写findViewById都要加个强制转换,感觉很麻烦,现在你可以在你的BaseActivity中写入如下方法: @SuppressWarnings(“unchecked”) public f ...
- 《Python自然语言处理》
<Python自然语言处理> 基本信息 作者: (美)Steven Bird Ewan Klein Edward Loper 出版社:人民邮电出版社 ISBN:97871153 ...
- Java 条件编译
在C/C++中,使用#ifdef…#endif的代码,如果不满足条件,编译器是不会对这部分代码进行编译的.Java中并没有这种“条件编译”特性.这种特性在C语言里是用来解决代码的跨平台问题的,可以通过 ...
- 连接sqlServer数据库&jpa调用存储过程Java获取存储过程返回的多个结果集JAVA调用sqlserver存储过程的实现(返回多个结果集的实现)jdbc多结果集(getMoreResults)
存储过程: BEGIN select * from teacher; SELECT * FROM student; END public Object GetMyBOProjectProductLis ...
- verilog语法实例学习(9)
常用的时序电路介绍 寄存器 一个触发器可以存储一位数据,由n个触发器组成的电路可以存储n位数据,我们把这一组触发器叫做寄存器.寄存器中每个触发器共用同一个时钟. 下面是n位寄存器的代码,我们通过一个参 ...
- 检查安装的 DirectX 版本
https://support.microsoft.com/zh-cn/help/179113/how-to-install-the-latest-version-of-directx DxDiag ...
- 使用C#反射机制访问类的私有成员【转】
首先我必须承认访问一个类的私有成员不是什么好做法.大家也都知道私有成员在外部是不能被访问的.而一个类中会存在很多私有成员:如私有字段.私有属性.私有方法.对于私有成员访问,可以套用下面这种非常好的方式 ...
- 解决ASP.NET页面回车回发的问题
在asp.net页面中在文本框.按钮等服务器控件上回车都会导致页面回发,网上很多解决方案是使用JS来进行event.keyCode==13判断是否按下的回车键,如果是就event.returnValu ...
- 微信小程序显示html格式内容(wxParse使用及循环解析数据渲染)
小程序默认是不支持html格式的内容显示的,那我们需要显示html内容的时候,就可以通过wxParse来实现. 首先我们下载wxParse,github地址:https://github.com/ic ...