代码出自魔塔
使用方法在代码后几行
- //**********animation.h**************
- #ifndef _ANIMATION_MANAGER_H_
- #define _ANIMATION_MANAGER_H_
- #include "MTGame.h"
- using namespace cocos2d;
- //地方写的有点不太对,写在一个全局变量里比较好
- typedef enum {
- kDown = 0,//向下方向
- kLeft = 1,//向左方向
- kRight= 2,//向右方向
- kUp = 3,//向上方向
- kNormal,
- } HeroDirection;//勇士方向
- typedef enum
- {
- kNone = 1,//可以通行
- kWall,//墙
- kEnemy,//敌人
- kItem,//物品
- kDoor,//门
- kNPC,//npc
- kTeleport,//传送点
- } CollisionType;//碰撞类型
- typedef enum
- {
- aDown = 0,//向下行走动画
- aLeft,//向左行走动画
- aRight,//向右行走动画
- aUp,//向上行走动画
- aFight,//刀光动画
- } AnimationKey;//动画模版键值
- class AnimationManager : public Singleton<AnimationManager>
- {
- public:
- AnimationManager();
- ~AnimationManager();
- //初始化动画模版缓存表
- bool initAnimationMap();
- //根据名字得到一个动画模板
- CCAnimation* getAnimation(int key);
- //创建一个动画实例
- CCAnimate* createAnimate(int key);
- //创建一个动画实例
- CCAnimate* createAnimate(const char* key);
- protected:
- //加载勇士行走动画模版
- CCAnimation* createHeroMovingAnimationByDirection(HeroDirection direction);
- CCAnimation* createFightAnimation();
- CCAnimation* createNPCAnimation();
- };
- //定义动画管理器实例的别名