cocos2d-x 自建动画管理器AnimationManager的方法和使用

本文详细介绍了cocos2d-x中自建动画管理器AnimationManager的实现方法和使用技巧,通过实例代码展示了如何进行操作。在文章的后半部分,作者提供了具体的使用示例,帮助读者理解和应用AnimationManager。
摘要由CSDN通过智能技术生成

代码出自魔塔

使用方法在代码后几行

 
 
 
  1. //**********animation.h**************  
  2. #ifndef _ANIMATION_MANAGER_H_  
  3. #define _ANIMATION_MANAGER_H_  
  4.  
  5. #include "MTGame.h"  
  6.  
  7. using namespace cocos2d;  
  8. //地方写的有点不太对,写在一个全局变量里比较好  
  9. typedef enum {  
  10.     kDown =  0,//向下方向  
  11.     kLeft = 1,//向左方向  
  12.     kRight= 2,//向右方向  
  13.     kUp = 3,//向上方向  
  14.     kNormal,  
  15. } HeroDirection;//勇士方向  
  16.  
  17. typedef enum 
  18. {  
  19.     kNone = 1,//可以通行  
  20.     kWall,//墙  
  21.     kEnemy,//敌人  
  22.     kItem,//物品  
  23.     kDoor,//门  
  24.     kNPC,//npc  
  25.     kTeleport,//传送点  
  26. } CollisionType;//碰撞类型  
  27.  
  28. typedef enum 
  29. {  
  30.     aDown = 0,//向下行走动画  
  31.     aLeft,//向左行走动画  
  32.     aRight,//向右行走动画  
  33.     aUp,//向上行走动画  
  34.     aFight,//刀光动画  
  35. } AnimationKey;//动画模版键值  
  36.  
  37. class AnimationManager : public Singleton<AnimationManager>  
  38. {  
  39. public:  
  40.     AnimationManager();  
  41.     ~AnimationManager();  
  42.     //初始化动画模版缓存表  
  43.     bool initAnimationMap();  
  44.     //根据名字得到一个动画模板  
  45.     CCAnimation* getAnimation(int key);  
  46.     //创建一个动画实例  
  47.     CCAnimate* createAnimate(int key);  
  48.     //创建一个动画实例  
  49.     CCAnimate* createAnimate(const char* key);  
  50. protected:  
  51.     //加载勇士行走动画模版  
  52.     CCAnimation* createHeroMovingAnimationByDirection(HeroDirection direction);  
  53.     CCAnimation* createFightAnimation();  
  54.     CCAnimation* createNPCAnimation();  
  55. };  
  56. //定义动画管理器实例的别名
animateControl v1.0.3 的功能特点: 1、完全兼容swiper的loop模式,完美支持swiper的嵌套。 2、完美支持animate.css,能够为页面中的任意元素添加动画。 3、完美支持为单个元素同时添加多个animate.css动画效果(无需进行HTML标签的嵌套),并且,可以随意控制这些动画效果的播放方式。 4、能够设置每一个动画效果的播放方式:同步播放、依次播放、循环播放。 5、能够设置每一个动画效果的动画类型:进入动画、表演动画、退出动画(在animate.css的源码中,opacity值从0至100的是进入动画,没有opacity属性的是表演动画。opacity值从100到0的是退出动画)。 6、实现了排版效果、动画效果、动画控制的完美分离,极大的提高了开发效率,能够在很短的时间内实现复杂的动画效果控制。 7、animateControl 不与swiper结合时,可对网页中的其它元素添加动画效果,并进行控制。 8、能够让不懂JS代码的人,经过简单的学习,就能快速的制作HTML5+CSS3动态微网页。 9、在 v1.0.3 中对整个核心代码进行了优化,大大提升了运行速率,使动画播放更流畅。 10、在 v1.0.3 中简化了所有参数的名称,让使用变得更加简单(用更少的代码,就能实现更复杂的效果)。 11、本次发布的动画控制器文件为min版,大大减少了文件的体积(下载解压后,文件位置在:js/swiper.animate.min.js)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值