您好,登錄后才能下訂單哦!
上回講到如何用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文件
頭文件部分,我們要加入包含語句
- #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,大功告成,接下來運行,看看效果
我的工程文件在附件中可以下載
另外如果大家對動畫方面想研究得更加深入,可以查閱火云洞紅孩的博客
http://blog.csdn.net/honghaier/article/details/8075354
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。