评论

收藏

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

游戏开发 游戏开发 发布于:2021-06-27 15:18 | 阅读数:221 | 评论:0

  上回讲到如何用cocosbuilder拼接一个完整动画文件出来。
  ok,这回就讲如何把动画文件导入到我们的游戏代码中并使用。
  第一步:用cocosbuilder导出数据文件
  很简单,选中要导出的ccb文件,然后点击file->publish就可以了。
DSC0000.jpg

  导出的文件在你的项目目录下能找到,后缀为.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文件
  头文件部分,我们要加入包含语句
#include "cocos-ext.h"  #include "AnimationsLayerLoader.h"   using namespace cocos2d::extension;
  接下来修改HelloWorldScene.cpp文件
  在HelloWorldScene.cpp的init方法中插入下面的语句
CCBAnimationManager actionManager = NULL;    CCNodeLoaderLibrary  ccNodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary();     ccNodeLoaderLibrary->registerCCNodeLoader("AnimationsTestLayerLoader", AnimationsTestLayerLoader::loader());     /* Create an autorelease CCBReader. /   cocos2d::extension::CCBReader  ccbReader = new cocos2d::extension::CCBReader(ccNodeLoaderLibrary);     /* Read a ccbi file. /   CCNode  node = ccbReader->readNodeGraphFromFile("boneCCb/playerAni.ccbi", this,&actionManager);     ((AnimationsTestLayer*)node)->setAnimationManager(actionManager);    ccbReader->release();     node->setPosition(ccp(100,160));     AnimationsTestLayer  spr = (AnimationsTestLayer )node;    if(node != NULL) {      this->addChild(node);    }
  今后如果要加入其它动画,只需修改
  CCNode * node = ccbReader->readNodeGraphFromFile("boneCCb/playerAni.ccbi", this,&actionManager);
  这句代码中的ccbi文件名就可以了
  ok,大功告成,接下来运行,看看效果

  我们的player已经在窗口中了,接下来大家动手练习下吧
  我的工程文件在附件中可以下载
  另外如果大家对动画方面想研究得更加深入,可以查阅火云洞红孩的博客
http://blog.csdn.net/honghaier/article/details/8075354