Cocos2d-x结构学习十四CCEaseExponential、CCEaseSine、CCRepeatForever、CCCA

1、CCEaseExponentialIn:指数级,继承自CCActionEase

class CC_DLL CCEaseExponentialIn : public CCActionEase
{
public:
    virtual void update(float time);
    virtual CCActionInterval* reverse(void);
    virtual CCObject* copyWithZone(CCZone* pZone);
public:
    static CCEaseExponentialIn* create(CCActionInterval* pAction);
};
2、CCEaseExponentialOut:指数级,继承自CCActionEase
class CC_DLL CCEaseExponentialOut : public CCActionEase
{
public:
    virtual void update(float time);
    virtual CCActionInterval* reverse(void);
    virtual CCObject* copyWithZone(CCZone* pZone);
public:
    static CCEaseExponentialOut* create(CCActionInterval* pAction);
};
3、CCEaseSineIn:正弦,继承自CCActionEase
class CC_DLL CCEaseSineIn : public CCActionEase
{
public:
    virtual void update(float time);
    virtual CCActionInterval* reverse(void);
    virtual CCObject* copyWithZone(CCZone* pZone);

public:
    static CCEaseSineIn* create(CCActionInterval* pAction);
};
4、CCEaseSineOut:正弦,继承自CCActionEase
class CC_DLL CCEaseSineOut : public CCActionEase
{
public:
    virtual void update(float time);
    virtual CCActionInterval* reverse(void);
    virtual CCObject* copyWithZone(CCZone* pZone);
public:
    static CCEaseSineOut* create(CCActionInterval* pAction);
};
5、CCRepeatForever:永久重复,继承自CCActionInterval
class CC_DLL CCRepeatForever : public CCActionInterval
{
public:
    CCRepeatForever()
        : m_pInnerAction(NULL)
    {}
    virtual ~CCRepeatForever();

    bool initWithAction(CCActionInterval *pAction);
 
    virtual CCObject* copyWithZone(CCZone *pZone);
    virtual void startWithTarget(CCNode* pTarget);
    virtual void step(float dt);
    virtual bool isDone(void);
    virtual CCActionInterval* reverse(void);

    inline void setInnerAction(CCActionInterval *pAction)
    {
        if (m_pInnerAction != pAction)
        {
            CC_SAFE_RELEASE(m_pInnerAction);
            m_pInnerAction = pAction;
            CC_SAFE_RETAIN(m_pInnerAction);
        }
    }

    inline CCActionInterval* getInnerAction()
    {
        return m_pInnerAction;
    }

public:
    static CCRepeatForever* create(CCActionInterval *pAction);
protected:
    CCActionInterval *m_pInnerAction;
};
6、CCCA:简化操作的宏
#define CCCA(x)   (x->copy()->autorelease())

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...