加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2d-x结构学习(十三)CCEaseIn、CCEaseRateAction、CCActio

发布时间:2020-12-14 20:42:51 所属栏目:百科 来源:网络整理
导读: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* cr

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读