首页 CocosBuilder制作逐帧动画

CocosBuilder制作逐帧动画

举报
开通vip

CocosBuilder制作逐帧动画 CocosBuilder2.1 结合 cocos2d-­‐x2.0.3 创建动画场景   一、 下载 cocosBuilder  2.1 和 cocos2d-­‐x  2.0.3版本。   二、 把自己想制作动画的资源放在一个文件夹中,命名为 ccb,把cocosbuilder   publish 的文件,创建另一个文件夹,命名为ccbPublish。(文件夹命名随意)   如上图。   注:此处讲解将 cocosBuilder 和 cocos2d-­‐x 分开来介绍,一般 可以让美...

CocosBuilder制作逐帧动画
CocosBuilder2.1 结合 cocos2d-­‐x2.0.3 创建动画场景   一、 下载 cocosBuilder  2.1 和 cocos2d-­‐x  2.0.3版本。   二、 把自己想制作动画的资源放在一个文件夹中,命名为 ccb,把cocosbuilder   publish 的文件,创建另一个文件夹,命名为ccbPublish。(文件夹命名随意)   如上图。   注:此处讲解将 cocosBuilder 和 cocos2d-­‐x 分开来介绍,一般 可以让美工人员掌握 cocosBuilder,提供给编程人员 ccbPublish 文件夹,编程人员就可以直接读取动画文件即可,极大的缓解 编程人员的工作(主要是程序员的审美木有人家的好)。       如果自己想又制作动画,又用代码来读取,下面会提到办 法。   三、 打开 cocosBuilder,创建 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 。  File-­‐New-­‐New  Project     选择 ccb文件夹     将其命名为 CCBTest,点击 Save。不用管自动生成的 hellococoBuilder。   四、设置工程  File-­‐Project  Setting     ,如果想在自己的 Xcode中即时看到效果,此处的路劲可以选择为 xcode工程中 的 resources文件夹。这就是上面提到的解决方法。   其他设置如图所示。     图中的几个选项,看英文就知道意思了。不过这里用不到。   五、创建文件 File-­‐New-­‐New  File,       选择 iPhone4的横屏   然后     保存在 ccb文件夹中。至此完成了初步的创建的工作。   六、创建动画   在 此 之 前 , 这 样设置一下,可以减少阴影对自己视觉的影响。   熟悉一下     点击就添加一个相应的东西,之后在右侧会有相应的属性设置 类似 xib,相信你们应 该很熟悉     添加精灵之后,在相应的时间点上点击如下:   至少添加两个关键帧,并且是相同的。而且可以不同的动作(关键帧) 同时运动。   七、保存动画,Publish 动画。   常用功能键,保存是 command+s,发布是 command+option+S,也 可以用菜单中的选项。   八、在 Xcode中添加 ccbPublish里面的文件,使用 cocos2d-­‐x代码读 取 ccbPublish 中的 ccbi 文件。添加文件时需要注意路径一定要和cocosBuilder 中的路径一致,(xcode 中一般来说都是 bundle 路径) 在工程中添加按一般的步骤来即可,若 cocosBuilder文件夹中含有其 他 文 件 夹 对 应 的 是 Xcode 添 加 问 价 夹 中 , 否则会导致程序找不到相应的资源,程序崩溃。       二、程序读取 cocosBuilder创建的 ccbi动画文件    1、 创建一个 cocos2d-­‐x 工程。删除自动创建的 helloworld 文件, 创建 MainScene 文件。  2、 在 MainScene文件中读取  .h文件   #ifndef _MAIN_SCENE_h #define _MAIN_SCENE_h #include "cocos2d.h" #include "cocos-ext.h" class CCBReader; USING_NS_CC; USING_NS_CC_EXT; class MainScene : public CCLayer , public cocos2d::extension::CCBSelectorResolver , public cocos2d::extension::CCBMemberVariableAssigner , public cocos2d::extension::CCNodeLoaderListener{ public: CCB_STATIC_NEW_AUTORELEASE_OBJECT_WITH_INIT_METHOD(MainScene, create); static CCScene* scene(); MainScene(); virtual ~MainScene(); void openTest(const char * pCCBFileName, const char * pCCNodeName = NULL, cocos2d::extension::CCNodeLoader * pCCNodeLoader = NULL); #pragma mark - #pragma mark Loader Function virtual cocos2d::SEL_MenuHandler onResolveCCBCCMenuItemSelector(cocos2d::CCObject * pTarget, cocos2d::CCString * pSelectorName); virtual cocos2d::extension::SEL_CCControlHandler onResolveCCBCCControlSelector(cocos2d::CCObject * pTarget, cocos2d::CCString * pSelectorName); virtual bool onAssignCCBMemberVariable(cocos2d::CCObject * pTarget, cocos2d::CCString * pMemberVariableName, cocos2d::CCNode * pNode); virtual void onNodeLoaded(cocos2d::CCNode * pNode, cocos2d::extension::CCNodeLoader * pNodeLoader); }; #pragma mark - #pragma mark MainSceneLoader class MainSceneLoader:public cocos2d::extension::CCLayerLoader { public: CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(MainSceneLoader, loader); protected: CCB_VIRTUAL_NEW_AUTORELEASE_CREATECCNODE_METHOD(MainScene); }; #endif .cpp文件 #include "MainScene.h" #include "AppController.h" CCScene* MainScene::scene(){ CCScene *scene=CCScene::create(); cocos2d::extension::CCNodeLoaderLibrary *ccNodeLoaderLibrary=cocos2d::extension::CCNodeLoaderLibrary:: newDefaultCCNodeLoaderLibrary(); ccNodeLoaderLibrary->registerCCNodeLoader("MainScene",MainScen eLoader::loader()); cocos2d::extension::CCBReader *ccBReader=new cocos2d::extension::CCBReader(ccNodeLoaderLibrary); //屏幕适配 cocos2d::CCSize size= CCEGLView::sharedOpenGLView()->getVisibleSize(); CCLog("cpp surface size height == %f",size.height); CCNode * node; if (size.height==480) { node = ccBReader->readNodeGraphFromFile("test.ccbi", scene); }else{//iPhone5,可以为不同的设备制作不同的ccbi⽂文件。同时创建多个画 布然后制作,还没有去研究。。。 node = ccBReader->readNodeGraphFromFile("test.ccbi", scene); } if(node!=NULL){ scene->addChild(node); } return scene; } MainScene::MainScene(){ } MainScene::~MainScene(){ } void MainScene::openTest(const char * pCCBFileName, const char * pCCNodeName, cocos2d::extension::CCNodeLoader * pCCNodeLoader){ // } SEL_MenuHandler MainScene::onResolveCCBCCMenuItemSelector(CCObject * pTarget,CCString * pSelectorName){ //Bind Menu Events,绑定⼀一个menu,点击⽅方法是press,以下同理 CCB_SELECTORRESOLVER_CCMENUITEM_GLUE(this, "press",MainScene::press); return NULL; } SEL_CCControlHandler MainScene::onResolveCCBCCControlSelector(CCObject * pTarget, CCString * pSelectorName){ //Bind CCControl Events return NULL; } bool MainScene::onAssignCCBMemberVariable(CCObject * pTarget, CCString * pMemberVariableName, CCNode * pNode){ //Bind variables CCB_MEMBERVARIABLEASSIGNER_GLUE(this, "ATM", CCSprite *, this->ATM); return false; } void MainScene::onNodeLoaded(CCNode * pNode, cocos2d::extension::CCNodeLoader * pNodeLoader){ //检测scene CCLOG("MainScene loading.....successed!") ; }    3、 在 appDelegate.cpp 中将 helloworld修改掉,   CCScene *pScene = MainScene::scene();     完成以上过程既可以读取自己创建的动画了。     这些是比较基础一些的,cocosBuidler 也可以像 xib 一样绑定事件, 对象等。上面的代码中我也有注释,若不然读取 ccbi 文件只需要 CCScene* MainScene::scene()这个函数即可。   还也可以添加粒子效果,可以制作骨骼动画,可以为游戏制作菜单等 等一系列的功能。    Cocos2d-­‐x 下载的工程中自带有一个 TestCpp 的工程,是我们学习cocos2d-­‐x 的 非 常 好 的 源 代 码 。 其 中 , 在   这里面有制作的非常好的例子,把个不同的 test,Animation,button,label,menu,particleSystem,Scrollview,sprite,testHeader等等, 大家可以仔细研究研究。  
本文档为【CocosBuilder制作逐帧动画】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_128483
暂无简介~
格式:pdf
大小:706KB
软件:PDF阅读器
页数:13
分类:生活休闲
上传时间:2013-02-03
浏览量:44