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

Cocos2d-x结构学习(十四)CCEaseExponential、CCEaseSine、CCRe

发布时间:2020-12-14 20:43:06 所属栏目:百科 来源:网络整理
导读:1、CCEaseExponentialIn:指数级,继承自CCActionEase class CC_DLL CCEaseExponentialIn : public CCActionEase{public: virtual void update(float time); virtual CCActionInterval* reverse(void); virtual CCObject* copyWithZone(CCZone* pZone);publi

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())

(编辑:李大同)

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

    推荐文章
      热点阅读