203 lines
4.4 KiB
C++
203 lines
4.4 KiB
C++
#pragma once
|
|
|
|
#include "cocos2d.h"
|
|
|
|
NS_CC_BEGIN
|
|
|
|
class MoveExTxtTime : public ActionInterval
|
|
{
|
|
public:
|
|
enum Type
|
|
{
|
|
Type_NONE,
|
|
Type_Full,
|
|
Type_1Float,
|
|
};
|
|
public:
|
|
/** initializes the action */
|
|
bool initWithDuration(float fDurTime,float fromTime,float toTime);
|
|
/**
|
|
* @js NA
|
|
* @lua NA
|
|
*/
|
|
void setStrType(Type eType);
|
|
|
|
virtual void update(float time);
|
|
|
|
virtual MoveExTxtTime* clone() const override;
|
|
virtual MoveExTxtTime* reverse(void) const override;
|
|
public:
|
|
/** creates the action */
|
|
static MoveExTxtTime* create(float fDurTime);
|
|
static MoveExTxtTime* create(float fDurTime,float fromTime,float toTime);
|
|
protected:
|
|
float m_fFromTime;
|
|
float m_fToTime;
|
|
Type m_eStrType;
|
|
};
|
|
|
|
class MoveExTxtTimeCallBack : public MoveExTxtTime
|
|
{
|
|
public:
|
|
/**
|
|
* @js NA
|
|
* @lua NA
|
|
*/
|
|
void setCallBack(const std::function<void()>& pCallBack,float fCheakTime = 0);
|
|
|
|
virtual void update(float time);
|
|
public:
|
|
/** creates the action */
|
|
static MoveExTxtTimeCallBack* create(float fDurTime,float fromTime,float toTime,const std::function<void()>& pCallBack,float fCheakTime = 0);
|
|
protected:
|
|
float m_fDeta;
|
|
float m_fCheckTime;
|
|
std::function<void()> m_pCallBack;
|
|
};
|
|
|
|
|
|
|
|
class CCVisibleAction : public ActionInterval
|
|
{
|
|
public:
|
|
/** initializes the action */
|
|
bool initWithDuration(float duration,bool bVisible);
|
|
/**
|
|
* @js NA
|
|
* @lua NA
|
|
*/
|
|
virtual void startWithTarget(Node *pTarget);
|
|
virtual ActionInterval* reverse(void);
|
|
virtual void update(float time);
|
|
virtual void stop(void);
|
|
CCVisibleAction* clone() const;
|
|
CCVisibleAction* reverse() const;
|
|
public:
|
|
/** creates the action */
|
|
static CCVisibleAction* create(float duration,bool bVisible);
|
|
private:
|
|
bool m_bVisible;
|
|
};
|
|
|
|
|
|
class CCRemoveAction : public ActionInterval
|
|
{
|
|
public:
|
|
/** initializes the action */
|
|
bool initWithDuration(float duration);
|
|
/**
|
|
* @js NA
|
|
* @lua NA
|
|
*/
|
|
virtual void startWithTarget(Node *pTarget);
|
|
virtual ActionInterval* reverse(void);
|
|
virtual void update(float time);
|
|
virtual void stop(void);
|
|
CCRemoveAction* clone() const;
|
|
CCRemoveAction* reverse() const;
|
|
public:
|
|
/** creates the action */
|
|
static CCRemoveAction* create(float duration);
|
|
private:
|
|
};
|
|
|
|
|
|
class CCTire : public ActionInterval
|
|
{
|
|
public:
|
|
/** initializes the action */
|
|
bool initWithDuration(float duration,std::string kTexterName,cocos2d::Node* pNode);
|
|
/**
|
|
* @js NA
|
|
* @lua NA
|
|
*/
|
|
virtual void startWithTarget(Node *pTarget);
|
|
virtual ActionInterval* reverse(void);
|
|
virtual void update(float time);
|
|
virtual void stop(void);
|
|
CCTire* clone() const;
|
|
CCTire* reverse() const;
|
|
public:
|
|
/** creates the action */
|
|
static CCTire* create(float duration,std::string kTexterName,cocos2d::Node* pNode);
|
|
private:
|
|
std::string m_kTexterName;
|
|
cocos2d::Node* m_pSrcNode;
|
|
float m_fTireTime;
|
|
};
|
|
|
|
class CCAutoRotation : public ActionInterval
|
|
{
|
|
public:
|
|
virtual void startWithTarget(Node *target) override;
|
|
virtual void update(float time);
|
|
virtual CCAutoRotation* clone() const override;
|
|
virtual CCAutoRotation* reverse(void) const override;
|
|
public:
|
|
/** creates the action */
|
|
static CCAutoRotation* create();
|
|
private:
|
|
cocos2d::Vec2 m_kLastPos;
|
|
};
|
|
|
|
|
|
class SizeTo : public ActionInterval
|
|
{
|
|
public:
|
|
static SizeTo* create(float duration,cocos2d::Size kSize);
|
|
public:
|
|
void setSize(cocos2d::Size kSize);
|
|
virtual void startWithTarget(Node *target) override;
|
|
virtual void update(float time) override;
|
|
private:
|
|
cocos2d::Size m_kStartSize;
|
|
cocos2d::Size m_kDestSize;
|
|
};
|
|
|
|
class GravityAction : public ActionInterval
|
|
{
|
|
public:
|
|
GravityAction();
|
|
static GravityAction* create(float duration,float fGravity);
|
|
virtual void update(float time) override;
|
|
|
|
void setGravity(float fValue);
|
|
protected:
|
|
float m_fGravity;
|
|
float m_fMoveSpd;
|
|
};
|
|
|
|
/** @class ShakeBy
|
|
@brief Shake a Node.
|
|
@since v0.7.2
|
|
*/
|
|
class ShakeBy : public ActionInterval
|
|
{
|
|
public:
|
|
static ShakeBy* create(float duration, const Vec2& strength);
|
|
virtual ShakeBy* clone() const override;
|
|
virtual ShakeBy* reverse() const override;
|
|
virtual void startWithTarget(Node *target) override;
|
|
|
|
virtual void update(float time) override;
|
|
virtual void stop() override;
|
|
|
|
CC_CONSTRUCTOR_ACCESS:
|
|
ShakeBy() {}
|
|
virtual ~ShakeBy() {}
|
|
|
|
bool initWithDuration(float duration, const Vec2& strength);
|
|
|
|
protected:
|
|
float fgRangeRand(float min, float max);
|
|
|
|
protected:
|
|
Vec2 _initialPosition;
|
|
Vec2 _strengthPosition;
|
|
|
|
private:
|
|
CC_DISALLOW_COPY_AND_ASSIGN(ShakeBy);
|
|
};
|
|
|
|
NS_CC_END
|