#ifndef __EFFECTMGR_H__
#define __EFFECTMGR_H__ #include "GameFrameHead.h" namespace cocos2d
{
class CCFiniteTimeAction;
} class GAMEFRAME_API CEffectMgr
{
public:
enum ActionType
{
_Act_Sequence = , //顺序执行
_Act_Spawn = , //同时执行
}; enum Action
{
_CCMoveTo = ,
_CCMoveBy = ,
_CCJumpTo = ,
_CCJumpBy = ,
_CCBezierBy = ,
_CCScaleTo = ,
_CCScaleBy = ,
_CCRotateTo = ,
_CCRotateBy = ,
_CCBlink = ,
_CCTintTo = ,
_CCTintBy = ,
_CCFadeTo = ,
_CCFadeIn = ,
_CCFadeOut = ,
}; public:
~CEffectMgr();
static CEffectMgr* getInstance();
static void destroy(); cocos2d::CCFiniteTimeAction* getAction(const char* psKey); private:
CEffectMgr();
private:
static CEffectMgr* g_pEffectMgr; }; #endif //__EFFECTMGR_H__
#include "EffectMgr.h"
#include "Config.h"
#include "XCommon.h" CEffectMgr* CEffectMgr::g_pEffectMgr = NULL; CEffectMgr::CEffectMgr()
{ } CEffectMgr::~CEffectMgr()
{ } CEffectMgr* CEffectMgr::getInstance()
{
if (!g_pEffectMgr)
{
g_pEffectMgr = new CEffectMgr();
}
return g_pEffectMgr;
} void CEffectMgr::destroy()
{
SAFE_DELETE(g_pEffectMgr);
} cocos2d::CCFiniteTimeAction* CEffectMgr::getAction( const char* psKey )
{
ActionInfo& actionInfo = *CConfig::getInstance()->getActionInfoByKey(psKey);
vector<float> vecParam;
vector<string> vecBuf; CXCommon::split(actionInfo.strParm, string(" "), vecBuf);
for (int i = ; i < vecBuf.size(); i++)
{
vecParam.push_back(atof(vecBuf[i].c_str()));
} CCFiniteTimeAction* pAct = NULL;
switch(actionInfo.nAction)
{
case _CCMoveTo:
{
pAct = CCMoveTo::create(vecParam[], ccp(vecParam[], vecParam[]));
}
break;
case _CCMoveBy:
{
pAct = CCMoveBy::create(vecParam[], ccp(vecParam[], vecParam[]));
}
break;
case _CCJumpBy:
{
pAct = CCJumpBy::create(vecParam[], ccp(vecParam[], vecParam[]), vecParam[], vecParam[]);
}
break;
case _CCJumpTo:
{
pAct = CCJumpTo::create(vecParam[], ccp(vecParam[], vecParam[]), vecParam[], vecParam[]);
}
break;
case _CCBezierBy:
{
//暂未实现
}
break;
case _CCScaleTo:
{
pAct = CCScaleTo::create(vecParam[], vecParam[], vecParam[]);
}
break;
case _CCScaleBy:
{
pAct = CCScaleBy::create(vecParam[], vecParam[], vecParam[]);
}
break;
case _CCRotateTo:
{
pAct = CCRotateTo::create(vecParam[], vecParam[]);
}
break;
case _CCBlink:
{
pAct = CCBlink::create(vecParam[], vecParam[]);
}
break;
case _CCTintTo:
{
pAct = CCTintTo::create(vecParam[], vecParam[], vecParam[], vecParam[]);
}
break;
case _CCTintBy:
{
pAct = CCTintBy::create(vecParam[], vecParam[], vecParam[], vecParam[]);
}
break;
case _CCFadeTo:
{
pAct = CCFadeTo::create(vecParam[], vecParam[]);
}
break;
case _CCFadeIn:
{
pAct = CCFadeIn::create(vecParam[]);
}
break;
case _CCFadeOut:
{
pAct = CCFadeOut::create(vecParam[]);
}
default:
{
CCLog("error: action creation fails!");
}
break;
} ASSERT(pAct);
return pAct;
}

最新文章

  1. perl 调用shell脚本
  2. 廖雪峰js教程笔记14 file文件操作
  3. js和php对bool值的判断区别
  4. SQL Server 2008 R2 Developer (x86, x64, ia64) – DVD (Chinese-Simplified)
  5. Redis的几个认识误区
  6. PS中常用快捷键
  7. java多线程(一)——线程安全的单例模式
  8. Gvim使用
  9. C++ 11 线程的同步与互斥
  10. 如何用C++语言编程(How to program in C++)
  11. ProgressBar 示例及自定义样式
  12. 嵌入式web server——Goahead启用SSL
  13. 【老鸟学算法】包含 min函数的栈设计——java实现
  14. obj-c编程10:Foundation库中类的使用(1)[数字,字符串]
  15. Win10 iot 修改日期时间
  16. Django的学习进阶(一)—— 外键的使用
  17. Jjava8 Lambda 神操作
  18. Java知多少(32)instanceof
  19. 使用java中replaceAll方法替换字符串中的反斜杠
  20. hdu 6168 Numbers

热门文章

  1. 《C++反汇编与逆向分析技术揭秘》之十——析构函数
  2. [Android Pro] Android 必知必会-使用 supportV4 的 RoundedBitmapDrawable 实现圆角
  3. 4)linux程序设计入门--时间概念
  4. Spark RDD API扩展开发
  5. 使用 Kafka 和 Spark Streaming 构建实时数据处理系统(转)
  6. vue组件中的样式属性:scoped,解决在父组件中无法修改子组件样式问题
  7. mysql数据库维护(备份和还原)和性能提高
  8. JSP2.0自定义标签
  9. (转) 问题解决:Apache: You don&#39;t have permission to access / on this server
  10. 已知m和n是两个整数,并且m^2+mn+n^2能被9整除,试证m,n都能被3整除。