cocos2d-x使用DragonBones动画

2014年06月24日 14694点热度 0人点赞 3条评论

前言

在网上查找关于DragonBones在cocos2d-x的使用教程,找了大半天也没有找到一个有用的。在自己摸索了一段时间终于摸索了出来,在这里记下分享给大家。

下载DragonBones

我这里使用的是别人修改的DragonBones,这个是针对cocos2d-x修改的,很方便使用。点击链接

安装方法请参照

Flash Professional CS6 安装zxp插件 – Sollyu博客

动画处理

我这里使用的是DragonBones自带的工程Dragon.fla。打开这个工程,选着到处cocos2d-x的plist方式。

具体流程

cocos2d-x使用DragonBones动画 cocos2d-x使用DragonBones动画 cocos2d-x使用DragonBones动画 DragonBones导出的是一个压缩包,将文件全部都解压出来。 cocos2d-x使用DragonBones动画

创建一个空的工程

说明下,我使用的cocos2d-x是老版本的:cocos2d-x-2.2.3 并不是最新的3.0

打开工程

我这里使用的是VS2012英文版,其他的版本也和这差不多。将解压出的文件复制到cocos2d-x工程的Resource目录中。我在这里建立了一个叫做Dragon的目录。 cocos2d-x使用DragonBones动画

添加支持文件

在工程的HelloWorldScene.cpp中添加头文件定义

#include "cocos-ext.h"
USING_NS_CC_EXT;

加载动画

bool HelloWorld::init()函数中添加加载动画的文件

CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Dragon/Dragon.png", "Dragon/Dragon.plist", "Dragon/Dragon.xml");

创建动画对象

添加动画元素

CCArmature* __armature = CCArmature::create("Dragon");

这里的Dragon是对应Dragon.fla文件的动画文件 cocos2d-x使用DragonBones动画

添加到Layer中

__armature->setAnchorPoint(ccp(0.5f,0.5f));
__armature->getAnimation()->playByIndex(0);
__armature->setPosition(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y);
addChild(__armature);

界面预览

cocos2d-x使用DragonBones动画

完整代码

CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Dragon/Dragon.png", "Dragon/Dragon.plist", "Dragon/Dragon.xml");
CCArmature* __armature = CCArmature::create("Dragon");
__armature->setAnchorPoint(ccp(0.5f,0.5f));
__armature->getAnimation()->playByIndex(0);
__armature->setPosition(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y);
addChild(__armature);

Sollyu

保持饥渴的专注,追求最佳的品质