Cocos2d-x结构学习(十五)CCJumpBy、CCRotateBy、CCSpawn、CCSp
发布时间:2020-12-14 20:43:04 所属栏目:百科 来源:网络整理
导读:1、CCJumpBy:跳跃,继承自CCActionInterval class CC_DLL CCJumpBy : public CCActionInterval{public: bool initWithDuration(float duration,const CCPoint position,float height,unsigned int jumps); virtual CCObject* copyWithZone(CCZone* pZone);
1、CCJumpBy:跳跃,继承自CCActionInterval class CC_DLL CCJumpBy : public CCActionInterval { public: bool initWithDuration(float duration,const CCPoint& position,float height,unsigned int jumps); virtual CCObject* copyWithZone(CCZone* pZone); virtual void startWithTarget(CCNode *pTarget); virtual void update(float time); virtual CCActionInterval* reverse(void); public: static CCJumpBy* create(float duration,unsigned int jumps); protected: CCPoint m_startPosition; CCPoint m_delta; float m_height; unsigned int m_nJumps; CCPoint m_previousPos; };2、CCRotateBy:旋转,继承自CCActionInterval class CC_DLL CCRotateBy : public CCActionInterval { public: static CCRotateBy* create(float fDuration,float fDeltaAngle); bool initWithDuration(float fDuration,float fDeltaAngle); static CCRotateBy* create(float fDuration,float fDeltaAngleX,float fDeltaAngleY); bool initWithDuration(float fDuration,float fDeltaAngleY); virtual CCObject* copyWithZone(CCZone* pZone); virtual void startWithTarget(CCNode *pTarget); virtual void update(float time); virtual CCActionInterval* reverse(void); protected: float m_fAngleX; float m_fStartAngleX; float m_fAngleY; float m_fStartAngleY; };3、CCSpawn:继承自CCActionInterval class CC_DLL CCSpawn : public CCActionInterval { public: ~CCSpawn(void); bool initWithTwoActions(CCFiniteTimeAction *pAction1,CCFiniteTimeAction *pAction2); virtual CCObject* copyWithZone(CCZone* pZone); virtual void startWithTarget(CCNode *pTarget); virtual void stop(void); virtual void update(float time); virtual CCActionInterval* reverse(void); public: static CCSpawn* create(CCFiniteTimeAction *pAction1,...); static CCSpawn* createWithVariableList(CCFiniteTimeAction *pAction1,va_list args); static CCSpawn* create(CCArray *arrayOfActions); static CCSpawn* createWithTwoActions(CCFiniteTimeAction *pAction1,CCFiniteTimeAction *pAction2); protected: CCFiniteTimeAction *m_pOne; CCFiniteTimeAction *m_pTwo; };4、CCSpeed:速度,继承自CCAction class CC_DLL CCSpeed : public CCAction { public: CCSpeed() : m_fSpeed(0.0),m_pInnerAction(NULL) {} virtual ~CCSpeed(void); inline float getSpeed(void) { return m_fSpeed; } //设置和获得速度 inline void setSpeed(float fSpeed) { m_fSpeed = fSpeed; } bool initWithAction(CCActionInterval *pAction,float fSpeed); virtual CCObject* copyWithZone(CCZone *pZone); virtual void startWithTarget(CCNode* pTarget); virtual void stop(); virtual void step(float dt); virtual bool isDone(void); virtual CCActionInterval* reverse(void); void setInnerAction(CCActionInterval *pAction); inline CCActionInterval* getInnerAction() { return m_pInnerAction; } public: static CCSpeed* create(CCActionInterval* pAction,float fSpeed); protected: float m_fSpeed; CCActionInterval *m_pInnerAction; }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容