上回讲到如何用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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。