手把手教你使用cocosbuilder在cocos2d-x中建立單獨骨骼動畫文件(二)

上回講到如何用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,大功告成,接下來運行,看看效果

 

 
我們的player已經在窗口中了,接下來大家動手練習下吧

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

另外如果大家對動畫方面想研究得更加深入,可以查閱火雲洞紅孩的博客

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章