zoukankan      html  css  js  c++  java
  • CEffectMgr类

    #ifndef __EFFECTMGR_H__
    #define __EFFECTMGR_H__
    
    #include "GameFrameHead.h"
    
    namespace cocos2d
    {
        class CCFiniteTimeAction;
    }
    
    
    class GAMEFRAME_API CEffectMgr
    {
    public:
        enum ActionType
        {
            _Act_Sequence = 0,    //顺序执行
            _Act_Spawn = 1,        //同时执行
        };
    
        enum Action
        {
            _CCMoveTo = 10,
            _CCMoveBy = 11,
            _CCJumpTo = 12,
            _CCJumpBy = 13,
            _CCBezierBy  = 14,
            _CCScaleTo = 15,
            _CCScaleBy = 16,
            _CCRotateTo = 17,
            _CCRotateBy = 18,
            _CCBlink = 19,
            _CCTintTo = 20,
            _CCTintBy = 21,
            _CCFadeTo = 22,
            _CCFadeIn = 23,
            _CCFadeOut = 24,
        };
    
    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 = 0; i < vecBuf.size(); i++)
        {
            vecParam.push_back(atof(vecBuf[i].c_str()));
        }
    
        CCFiniteTimeAction* pAct = NULL;
        switch(actionInfo.nAction)
        {
        case _CCMoveTo:
            {
                pAct = CCMoveTo::create(vecParam[0], ccp(vecParam[1], vecParam[2]));
            }
            break;
        case _CCMoveBy:
            {
                pAct = CCMoveBy::create(vecParam[0], ccp(vecParam[1], vecParam[2]));
            }
            break;
        case _CCJumpBy:
            {
                pAct = CCJumpBy::create(vecParam[0], ccp(vecParam[1], vecParam[2]), vecParam[3], vecParam[4]);
            }
            break;
        case _CCJumpTo:
            {
                pAct = CCJumpTo::create(vecParam[0], ccp(vecParam[1], vecParam[2]), vecParam[3], vecParam[4]);
            }
            break;
        case _CCBezierBy:
            {
                //暂未实现
            }
            break;
        case _CCScaleTo:
            {
                pAct = CCScaleTo::create(vecParam[0], vecParam[1], vecParam[2]);
            }
            break;
        case _CCScaleBy:
            {
                pAct = CCScaleBy::create(vecParam[0], vecParam[1], vecParam[2]);
            }
            break;
        case _CCRotateTo:
            {
                pAct = CCRotateTo::create(vecParam[0], vecParam[1]);
            }
            break;
        case _CCBlink:
            {
                pAct = CCBlink::create(vecParam[0], vecParam[1]);
            }
            break;
        case _CCTintTo:
            {
                pAct = CCTintTo::create(vecParam[0], vecParam[1], vecParam[2], vecParam[3]);
            }
            break;
        case _CCTintBy:
            {
                pAct = CCTintBy::create(vecParam[0], vecParam[1], vecParam[2], vecParam[3]);
            }
            break;
        case _CCFadeTo:
            {
                pAct = CCFadeTo::create(vecParam[0], vecParam[1]);
            }
            break;
        case _CCFadeIn:
            {
                pAct = CCFadeIn::create(vecParam[0]);
            }
            break;
        case _CCFadeOut:
            {
                pAct = CCFadeOut::create(vecParam[0]);
            }
        default:
            {
                CCLog("error: action creation fails!");
            }
            break;
        }
    
        ASSERT(pAct);
        return pAct;
    }
  • 相关阅读:
    android彻底结束进程的两种方法
    清理软件缓存
    android webview 设置
    创建和使用Android library工程
    如何使Android应用程序获得root权限
    自动安装mysql5.7shell脚本实现与ansible脚本实现
    老生常谈:Asp.net Mvc 3 加载cshtml文件创建自定义分页
    老生常谈: Asp.net Mvc3 加载cshtml文件自定义分页+ 查询
    Razor API翻译
    Asp.net MVC 3使用 Area 小结
  • 原文地址:https://www.cnblogs.com/newlist/p/3176830.html
Copyright © 2011-2022 走看看