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)由 ...
随机推荐
- centos升级到最新的mysql
去站点下载mysql的yum源.地址例如以下: http://repo.mysql.com/ 在linux上先查看系统的版本,依据版本相应下载 more /etc/redhat-release rpm ...
- 【转】内存分析工具 MAT 的使用
本文转载自:http://blog.csdn.net/aaa2832/article/details/19419679 1 内存泄漏的排查方法 Dalvik Debug Monitor Server ...
- 《Python计算机视觉编程》
<Python计算机视觉编程> 基本信息 作者: (美)Jan Erik Solem 译者: 朱文涛 袁勇 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:978711535 ...
- Eclipse Debug提示source not found解决方案
场景:我在引用的jar包的某个class文件的某一行代码打了个断点,当然我是已经指定了source源码包路径,否则我是查看不了class文件的源码更不用说打断点了,但是在debug模式下,却提示&qu ...
- SQL Server跨服务器查询的实现方法,OpenDataSource
SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...
- Guava之Iterables使用示例
这是一个常量工具类.Iterables类包含了一系列的静态方法,来操作或返回Iterable对象. public final class Iterables { private Iterables() ...
- iOS 开发的一些网址
http://www.cnblogs.com/iCocos/p/4553291.html ios学习路线图,值得看一下你的哪些技术还没掌握到位还有就是往高级发展还差哪些知识(这个人的博客特别值得看,虽 ...
- 杨晓峰-Java核心技术-6 动态代理 反射 MD
目录 第6讲 | 动态代理是基于什么原理? 典型回答 考点分析 知识扩展 反射机制及其演进 动态代理 精选留言 Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAnd ...
- 使用C#开发一个简单的P2P应用
作者: 刘彦青 本篇文章讨论了一种设计P2P网络应用程序的简单方法. 尽管有许多P2P网络不需要索引服务器或中央服务器,各客户机之间可以互相直接通讯,但下面的图1还是显示了P2P网络的基本工作原理,一 ...
- 仿qq底部的提示标记
看到一个比較不错的开源项目,分享给大家: <?xml version="1.0" encoding="utf-8"?> <RelativeLa ...