Cocos2d-x结构学习(十三)CCEaseIn、CCEaseRateAction、CCActionEase、CCEaseOut、CCDelayTime、CCSequence

前端之家收集整理的这篇文章主要介绍了Cocos2d-x结构学习(十三)CCEaseIn、CCEaseRateAction、CCActionEase、CCEaseOut、CCDelayTime、CCSequence前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、CCEaseIn:继承自CCEaseRateAction

class CC_DLL CCEaseIn : public CCEaseRateAction
{
public:
    virtual void update(float time);
    virtual CCActionInterval* reverse(void);
    virtual CCObject* copyWithZone(CCZone* pZone);
public:
    static CCEaseIn* create(CCActionInterval* pAction,float fRate);
};
2、CCEaseRateAction:继承自CCActionEase
class CC_DLL CCEaseRateAction : public CCActionEase
{
public:
    virtual ~CCEaseRateAction(void);

    inline void setRate(float rate) { m_fRate = rate; }              //设置和获得速率
    inline float getRate(void) { return m_fRate; }

    bool initWithAction(CCActionInterval *pAction,float fRate);            //初始化

    virtual CCObject* copyWithZone(CCZone* pZone);
    virtual CCActionInterval* reverse(void);

public:
    static CCEaseRateAction* create(CCActionInterval* pAction,float fRate);
protected:
    float m_fRate;
};
3、CCActionEase:继承自CCActionInterval
class CC_DLL CCActionEase : public CCActionInterval
{
public:
    virtual ~CCActionEase(void);

    bool initWithAction(CCActionInterval *pAction);

    virtual CCObject* copyWithZone(CCZone* pZone);
    virtual void startWithTarget(CCNode *pTarget);
    virtual void stop(void);
    virtual void update(float time);
    virtual CCActionInterval* reverse(void);
    virtual CCActionInterval* getInnerAction();

public:
    static CCActionEase* create(CCActionInterval *pAction);
protected:
    CCActionInterval *m_pInner;
};
4、CCEaSEOut:继承自CCEaseRateAction
class CC_DLL CCEaSEOut : public CCEaseRateAction
{
public:
    virtual void update(float time);
    virtual CCActionInterval* reverse();
 
    virtual CCObject* copyWithZone(CCZone* pZone);

public:
    static CCEaSEOut* create(CCActionInterval* pAction,float fRate);
};
5、CCDelayTime:延时动作执行,继承自CCActionInterval
class CC_DLL CCDelayTime : public CCActionInterval
{
public:
    virtual void update(float time);
    virtual CCActionInterval* reverse(void);

    virtual CCObject* copyWithZone(CCZone* pZone);

public:
    static CCDelayTime* create(float d);
};
6、CCSequence:序列,继承自CCActionInterval
class CC_DLL CCSequence : public CCActionInterval
{
public:
    ~CCSequence(void);

    bool initWithTwoActions(CCFiniteTimeAction *pActionOne,CCFiniteTimeAction *pActionTwo);
 
    virtual CCObject* copyWithZone(CCZone* pZone);
    virtual void startWithTarget(CCNode *pTarget);
    virtual void stop(void);
    virtual void update(float t);
    virtual CCActionInterval* reverse(void);

public:
    static CCSequence* create(CCFiniteTimeAction *pAction1,...);
    static CCSequence* create(CCArray *arrayOfActions);
    static CCSequence* createWithVariableList(CCFiniteTimeAction *pAction1,va_list args);
    static CCSequence* createWithTwoActions(CCFiniteTimeAction *pActionOne,CCFiniteTimeAction *pActionTwo);

protected:
    CCFiniteTimeAction *m_pActions[2];
    float m_split;
    int m_last;
};

猜你在找的Cocos2d-x相关文章