上回讲到如何用cocosbuilder拼接一个完整动画文件出来。

ok,这回就讲如何把动画文件导入到我们的游戏代码中并使用。

第一步:用cocosbuilder导出数据文件

很简单,选中要导出的ccb文件,然后点击file->publish就可以了。

导出的文件在你的项目目录下能找到,后缀为.ccbi的文件就是对应的ccb文件的数据导出文件了。

现在把playerAni.ccbi文件拷贝到我们vs的工程目录资源文件夹下

第二步:新建一个cocos2d-x工程

这里我以最简单的helloworld为例子就可以了

新建之后出现如下画面表示成功,这部分的内容可以去网上搜索,或者cocos2d-x官网了解

这里有个点要注意就是一定要在工程包含头文件的目录中加入 “e:\cocos2d-2.0-x-2.0.3\extensions"这个目录,e盘是我放置cocos2dx的目录,前面你们可以根据各自的具体目录具体设置。

第二步:添加ccbi文件读取类

基础的类可以从cocos2d-x的例子代码中截取,这里我给大家截取好了,3个基础动画类文件在附件中,大家可以下载使用,简单添加到工程就行了。

添加进基础文件之后,接下来,我们修改下HelloWorldScene.h和HelloWorldScene.cpp文件

首先是HelloWorldScene.h文件

头文件部分,我们要加入包含语句

   
   
   
   
  1. #include "cocos-ext.h"  
  2. #include "AnimationsLayerLoader.h"  
  3.  
  4. using namespace cocos2d::extension; 

接下来修改HelloWorldScene.cpp文件

在HelloWorldScene.cpp的init方法中插入下面的语句

 

   
   
   
   
  1. CCBAnimationManager *actionManager = NULL;  
  2.     CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary();  
  3.  
  4.     ccNodeLoaderLibrary->registerCCNodeLoader("AnimationsTestLayerLoader", AnimationsTestLayerLoader::loader());  
  5.  
  6.     /* Create an autorelease CCBReader. */ 
  7.     cocos2d::extension::CCBReader * ccbReader = new cocos2d::extension::CCBReader(ccNodeLoaderLibrary);  
  8.  
  9.     /* Read a ccbi file. */ 
  10.     CCNode * node = ccbReader->readNodeGraphFromFile("boneCCb/playerAni.ccbi"this,&actionManager);  
  11.  
  12.     ((AnimationsTestLayer*)node)->setAnimationManager(actionManager);  
  13.     ccbReader->release();  
  14.  
  15.     node->setPosition(ccp(100,160));  
  16.  
  17.     AnimationsTestLayer * spr = (AnimationsTestLayer *)node;  
  18.     if(node != NULL) {  
  19.         this->addChild(node);  
  20.     } 

今后如果要加入其它动画,只需修改

CCNode * node = ccbReader->readNodeGraphFromFile("boneCCb/playerAni.ccbi", this,&actionManager);

这句代码中的ccbi文件名就可以了

ok,大功告成,接下来运行,看看效果

 

手把手教你使用cocosbuilder在cocos2d-x中建立单独骨骼动画文件(二)_第1张图片

 
我们的player已经在窗口中了,接下来大家动手练习下吧

我的工程文件在附件中可以下载

另外如果大家对动画方面想研究得更加深入,可以查阅火云洞红孩的博客

http://blog.csdn.net/honghaier/article/details/8075354