#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;
}

CEffectMgr类的更多相关文章

  1. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  2. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  5. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  6. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  7. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  8. PHP-解析验证码类--学习笔记

    1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1  定义变量 //随机因子 private $char ...

  9. C# 多种方式发送邮件(附帮助类)

    因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...

随机推荐

  1. Tui-x 基础使用

    本章以Tui-x3.x仓库里的HelloTuiCpp项目来做具体解说.[ 由于HelloTuiCpp里面演示的全部控件,本文篇幅有限,不能一一说明,所以仅仅能列举两个控件,后面的文章会有针对性地解说其 ...

  2. 命令方式启动安卓模拟器(M9)

    H:\Android\M9SDK_windows_1.0\platforms\android-2.3.1>emulator.exe -sysdir H:\Android\M9SDK_window ...

  3. Out of memory: Kill process 内存不足

    服务直接被 killed,感觉特别奇怪.代码肯定是没有问题的,但为什么放到服务器上就出错了呢. 部署时报错如下: Failed to add the deployment content to the ...

  4. ARM指令集—SWP指令

    ARM指令集-SWP指令 SWP和SWPB是ARM指令集中对存储单元的原子操作.即对存储单元的一次读和一次不可被切割. SWP和SWPB分别完毕存储器和寄存器之间 一个字(32bit)和一个字节(8b ...

  5. go语言基础之函数类型

    1.函数类型 示例: package main import "fmt" func Add(a, b int) int { return a + b } func main() { ...

  6. 使用CSS3实现的player播放按钮

    完成的效果如下 查看效果并下载 Step 1:先了解border的原理: Step 2:HTML代码结构 <section class="playContainer"> ...

  7. Tensorflow 深度学习简介(自用)

    一些废话,也可能不是废话.可能对,也可能不对. 机器学习的定义:如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以在经验中学习. “程序”指的是需要用到的机器学习算法 ...

  8. [Grunt] External Config

    Let's combine uglifying, watching, and config stuff into one Grunt file to make it more of a standar ...

  9. CPU五级流水线project(带Hazard)

    project简单介绍: 计算机组成原理课程Project--五级流水线hazard处理 思路说明: CPU架构图: CPU指令集: 代码在这里:cpu_hazard

  10. 创建组件“AxLicenseControl”失败

    打开以前的程序,准备来添加一个功能,打开主程序就报错: 我未曾改变过版本,原来是由于破解测试需要,修改了系统时间,时间对不了,ArcGIS的问题,改过来就正常了.