[cocos2dx开发技巧4]工具CocosBuilder的使用--复杂动画
2013-04-05 13:01
525 查看
转发,请保持地址:/article/7718243.html
一个网友推荐过一款制作动画的工具,叫做
Spriter; 其中有个Demo介绍怎么制作游戏中的boss,十分精彩;Sprite的Demo地址为:How to use Spriter 0;资源下载地址:Monster;
这篇文章中,我将使用CocosBuilder来复制这个例子,先看截图。
![](http://img.my.csdn.net/uploads/201304/05/1365135775_6220.png)
![](http://img.my.csdn.net/uploads/201304/05/1365135783_1841.png)
和这个系列之前的文章中一样,先创建cocos2dx工程,命名为Monster,然后在Monster的Resources下建立ccb文件夹,在ccb下创建CocosBuilder工程。然后设置相关属性,拷贝相应的文件。加下来就是cocosBuilder的设计了。
创建File,Root object Type为CCNode,不需要FullScreen, 命名这个文件为monster.ccb:
![](http://img.my.csdn.net/uploads/201304/05/1365136094_2973.png)
把相应的13个图片拖动到模拟器中,如下图:
![](http://img.my.csdn.net/uploads/201304/05/1365136326_5142.png)
然后调整好位置,图层顺序等,如下图:
![](http://img.my.csdn.net/uploads/201304/05/1365136501_5431.png)
接下来的工作就是实现动画了。这里将介绍两个动画,一个是prepare动画,monster在做原地摆臂运动;一个是attack动画,monster将进行一个攻击性动画。
其实动画就是对monster的13个图片进行的Rotate和position等动画设置。(cocosBuilder的详细操作,请参考《[cocos2dx开发技巧2]工具CocosBuilder的使用--集成》)
这里重点介绍attack动画中的头部的动画。头部动画要设计到Rotate,position和frame动画。选择head_0, 在0s,1s处点击r和p按钮,分别创建Rotate和Position的关键帧。然后做相应的调整,在1s只能创建frame动画。如下图:
![](http://img.my.csdn.net/uploads/201304/05/1365137236_8694.png)
然后拖动时间轴,查看效果:
![](http://img.my.csdn.net/uploads/201304/05/1365137317_4272.png)
![](http://img.my.csdn.net/uploads/201304/05/1365137327_8138.png)
![](http://img.my.csdn.net/uploads/201304/05/1365137335_2404.png)
创建好attack和prepare动画之后,还要使它们连接起来。attack动画播放完之后,就进入prepare;prepare动画播放完之后接着播放prepare动画(循环播放);具体的时间轴串联,请参考《[cocos2dx开发技巧2]工具CocosBuilder的使用--集成》。
然后创建playground文件,用来测试这个monster。具体如下:
![](http://img.my.csdn.net/uploads/201304/05/1365137633_7026.png)
按钮的回调函数设置如下:
![](http://img.my.csdn.net/uploads/201304/05/1365137690_9477.png)
导出monster.ccbi, playground.ccbi, 然后在xcode中导入相关文件,就可以进行cocos2dx端的编码了。程序的功能是,当点击btn时,将使prepare状态下的monster进行attack。主要是实现点击按钮的回调函数onAttack。
在xocde中创建Playground类,做如下实现:
demo下载地址:http://download.csdn.net/detail/stalendp/5222590
一个网友推荐过一款制作动画的工具,叫做
Spriter; 其中有个Demo介绍怎么制作游戏中的boss,十分精彩;Sprite的Demo地址为:How to use Spriter 0;资源下载地址:Monster;
这篇文章中,我将使用CocosBuilder来复制这个例子,先看截图。
![](http://img.my.csdn.net/uploads/201304/05/1365135775_6220.png)
![](http://img.my.csdn.net/uploads/201304/05/1365135783_1841.png)
和这个系列之前的文章中一样,先创建cocos2dx工程,命名为Monster,然后在Monster的Resources下建立ccb文件夹,在ccb下创建CocosBuilder工程。然后设置相关属性,拷贝相应的文件。加下来就是cocosBuilder的设计了。
创建File,Root object Type为CCNode,不需要FullScreen, 命名这个文件为monster.ccb:
![](http://img.my.csdn.net/uploads/201304/05/1365136094_2973.png)
把相应的13个图片拖动到模拟器中,如下图:
![](http://img.my.csdn.net/uploads/201304/05/1365136326_5142.png)
然后调整好位置,图层顺序等,如下图:
![](http://img.my.csdn.net/uploads/201304/05/1365136501_5431.png)
接下来的工作就是实现动画了。这里将介绍两个动画,一个是prepare动画,monster在做原地摆臂运动;一个是attack动画,monster将进行一个攻击性动画。
其实动画就是对monster的13个图片进行的Rotate和position等动画设置。(cocosBuilder的详细操作,请参考《[cocos2dx开发技巧2]工具CocosBuilder的使用--集成》)
这里重点介绍attack动画中的头部的动画。头部动画要设计到Rotate,position和frame动画。选择head_0, 在0s,1s处点击r和p按钮,分别创建Rotate和Position的关键帧。然后做相应的调整,在1s只能创建frame动画。如下图:
![](http://img.my.csdn.net/uploads/201304/05/1365137236_8694.png)
然后拖动时间轴,查看效果:
![](http://img.my.csdn.net/uploads/201304/05/1365137317_4272.png)
![](http://img.my.csdn.net/uploads/201304/05/1365137327_8138.png)
![](http://img.my.csdn.net/uploads/201304/05/1365137335_2404.png)
创建好attack和prepare动画之后,还要使它们连接起来。attack动画播放完之后,就进入prepare;prepare动画播放完之后接着播放prepare动画(循环播放);具体的时间轴串联,请参考《[cocos2dx开发技巧2]工具CocosBuilder的使用--集成》。
然后创建playground文件,用来测试这个monster。具体如下:
![](http://img.my.csdn.net/uploads/201304/05/1365137633_7026.png)
按钮的回调函数设置如下:
![](http://img.my.csdn.net/uploads/201304/05/1365137690_9477.png)
导出monster.ccbi, playground.ccbi, 然后在xcode中导入相关文件,就可以进行cocos2dx端的编码了。程序的功能是,当点击btn时,将使prepare状态下的monster进行attack。主要是实现点击按钮的回调函数onAttack。
在xocde中创建Playground类,做如下实现:
class Playground: public CcbBase { private: CCNode* monster; public: CCB_STATIC_NEW_AUTORELEASE_OBJECT_WITH_INIT_METHOD(Playground, create); Playground():monster(NULL) { } virtual ~Playground() { CC_SAFE_RELEASE(monster); } bool onAssignCCBMemberVariable(cocos2d::CCObject * pTarget, const char * pMemberVariableName, cocos2d::CCNode * pNode) { CCB_MEMBERVARIABLEASSIGNER_GLUE(this, "monster", CCNode *, this->monster); return NULL; } virtual cocos2d::SEL_MenuHandler onResolveCCBCCMenuItemSelector(cocos2d::CCObject * pTarget, const char * pSelectorName) { CCB_SELECTORRESOLVER_CCMENUITEM_GLUE(this, "onAttack", Playground::onAttack); return NULL; } void onAttack(cocos2d::CCObject *pSender) { CCLOG("attacking"); CCBAnimationManager* animationManager = (CCBAnimationManager*)monster->getUserObject(); animationManager->runAnimationsForSequenceNamed("attack"); //播放attack动画 } };
demo下载地址:http://download.csdn.net/detail/stalendp/5222590
相关文章推荐
- [cocos2dx开发技巧4]工具CocosBuilder的使用--复杂动画
- [cocos2dx开发技巧1]工具CocosBuilder的使用--demo介绍
- [cocos2dx开发技巧3]工具CocosBuilder的使用--Box2d
- [cocos2dx开发技巧2]工具CocosBuilder的使用--集成
- [cocos2dx开发技巧2]工具CocosBuilder的使用--集成
- [cocos2dx开发技巧2]工具CocosBuilder的使用–集成
- [cocos2dx开发技巧1]工具CocosBuilder的使用--demo介绍
- [cocos2dx开发技巧3]工具CocosBuilder的使用--Box2d
- [cocos2dx开发技巧2]工具CocosBuilder的使用--集成
- 【CocosBuilder 开发系列之一】cocos2dx使用CocosBuilder(编辑器)完成基础骨骼动画
- 工具CocosBuilder的使用--复杂动画
- 【CocosBuilder 开发系列之一】cocos2dx使用CocosBuilder(编辑器)完成基础骨骼动画
- 实习小白::(转) 【CocosBuilder 开发系列之一】cocos2dx使用CocosBuilder(官方编辑器)完成基础骨骼动画
- 【CocosBuilder 开发系列之一】cocos2dx使用CocosBuilder完成骨骼动画
- 【CocosBuilder 开发系列之一】cocos2dx使用CocosBuilder完成骨骼动画 推荐
- cocos2dx-3.6 开发技巧(二)回调函数以及动画的使用,触摸事件,android返回键,屏幕截屏
- cocos2dx使用CocosBuilder(官方编辑器)完成基础骨骼动画
- JAVA 开发工具Jcreator使用技巧总结 (转)
- Cocos开发中性能优化工具介绍之Xcode中Instruments工具使用
- Cocos开发中性能优化工具介绍之使用Windows任务管理器