cocos2d-x节点(CCActionTiledGrid.h)API
2013-12-08 09:30
399 查看
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
//拆分、淡出、波形、震动 action
cocos2d-x节点(CCActionTiledGrid.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记//拆分、淡出、波形、震动 action
///cocos2d-x-3.0alpha0/cocos2dx/actions //拆分、淡出、波形、震动 action #ifndef __ACTION_CCTILEDGRID_ACTION_H__ #define __ACTION_CCTILEDGRID_ACTION_H__ #include "CCActionGrid.h" NS_CC_BEGIN /** * @addtogroup actions * @{ */ /** @brief ShakyTiles3D action */ class CC_DLL ShakyTiles3D : public TiledGrid3DAction { public: /** 使用 范围、是否晃动z顶点、grid 的尺寸、duration 创建一个 action */ static ShakyTiles3D* create(float duration, const Size& gridSize, int nRange, bool bShakeZ); /** 使用 范围、是否晃动z顶点、grid 的尺寸、duration 初始化一个 action */ bool initWithDuration(float duration, const Size& gridSize, int nRange, bool bShakeZ); // Override virtual ShakyTiles3D* clone() const override; virtual void update(float time) override; protected: int _randrange; bool _shakeZ; }; /** @brief ShatteredTiles3D action */ class CC_DLL ShatteredTiles3D : public TiledGrid3DAction { public: /** 使用 范围、是否 shatter(粉碎)z顶点、grid 的尺寸、duration 创建一个 action */ static ShatteredTiles3D* create(float duration, const Size& gridSize, int nRange, bool bShatterZ); /** 使用 范围、是否 shatter(粉碎)z顶点、grid 的尺寸、duration 初始化一个 action */ bool initWithDuration(float duration, const Size& gridSize, int nRange, bool bShatterZ); // Override virtual ShatteredTiles3D* clone() const override; virtual void update(float time) override; protected: int _randrange; bool _once; bool _shatterZ; }; struct Tile; /** @brief ShuffleTiles action Shuffle(随机)the tiles in random order */ class CC_DLL ShuffleTiles : public TiledGrid3DAction { public: /** 使用 a random seed、grid 的尺寸、duration 初始化一个 action */ static ShuffleTiles* create(float duration, const Size& gridSize, unsigned int seed); /** * @js NA * @lua NA */ virtual ~ShuffleTiles(void); /** 使用 a random seed、grid 的尺寸、duration 初始化一个 action */ bool initWithDuration(float duration, const Size& gridSize, unsigned int seed); void shuffle(unsigned int *array, unsigned int nLen); Size getDelta(const Size& pos) const; void placeTile(const Point& pos, Tile *t); // Overrides virtual void startWithTarget(Node *target) override; virtual void update(float time) override; virtual ShuffleTiles* clone() const override; protected: unsigned int _seed; unsigned int _tilesCount; unsigned int* _tilesOrder; Tile* _tiles; }; /** @brief FadeOutTRTiles action 向右上角方向淡出的 tiles */ class CC_DLL FadeOutTRTiles : public TiledGrid3DAction { public: /** 使用 grid 的尺寸、duration 创建一个 action */ static FadeOutTRTiles* create(float duration, const Size& gridSize); virtual float testFunc(const Size& pos, float time); void turnOnTile(const Point& pos); void turnOffTile(const Point& pos); virtual void transformTile(const Point& pos, float distance); // Overrides virtual void update(float time) override; virtual FadeOutTRTiles* clone() const override; }; /** @brief FadeOutBLTiles action. 向左下角方向淡出的 tiles */ class CC_DLL FadeOutBLTiles : public FadeOutTRTiles { public: /** 使用 grid 的尺寸、duration 创建一个 action */ static FadeOutBLTiles* create(float duration, const Size& gridSize); // Overrides virtual float testFunc(const Size& pos, float time) override; virtual FadeOutBLTiles* clone() const override; }; /** @brief FadeOutUpTiles action. 向上方向淡出的 tiles */ class CC_DLL FadeOutUpTiles : public FadeOutTRTiles { public: /** 使用 grid 的尺寸、duration 创建一个 action */ static FadeOutUpTiles* create(float duration, const Size& gridSize); virtual void transformTile(const Point& pos, float distance); // Overrides virtual FadeOutUpTiles* clone() const override; virtual float testFunc(const Size& pos, float time) override; }; /** @brief FadeOutDownTiles action. 向下方向淡出的 tiles */ class CC_DLL FadeOutDownTiles : public FadeOutUpTiles { public: /** 使用 grid 的尺寸、duration 创建一个 action */ static FadeOutDownTiles* create(float duration, const Size& gridSize); // Overrides virtual FadeOutDownTiles* clone() const override; virtual float testFunc(const Size& pos, float time) override; }; /** @brief TurnOffTiles action. 随机关闭文件 */ class CC_DLL TurnOffTiles : public TiledGrid3DAction { public: /** 使用 grid 的尺寸、duration 创建一个 action */ static TurnOffTiles* create(float duration, const Size& gridSize); /** 使用 a random seed、grid 的尺寸、duration 初始化一个 action */ static TurnOffTiles* create(float duration, const Size& gridSize, unsigned int seed); /** * @js NA * @lua NA */ ~TurnOffTiles(void); /** 使用 a random seed、grid 的尺寸、duration 初始化一个 action */ bool initWithDuration(float duration, const Size& gridSize, unsigned int seed); void shuffle(unsigned int *pArray, unsigned int nLen); void turnOnTile(const Point& pos); void turnOffTile(const Point& pos); // Overrides virtual TurnOffTiles* clone() const override; virtual void startWithTarget(Node *target) override; virtual void update(float time) override; protected: unsigned int _seed; unsigned int _tilesCount; unsigned int* _tilesOrder; }; /** @brief WavesTiles3D action. */ class CC_DLL WavesTiles3D : public TiledGrid3DAction { public: /** 使用 波数、the sin amplitude(振幅)、grid 尺寸、duration 创建一个 action */ static WavesTiles3D* create(float duration, const Size& gridSize, unsigned int waves, float amplitude); /** 使用 波数、the sin amplitude(振幅)、grid 尺寸、duration 初始化一个 action */ bool initWithDuration(float duration, const Size& gridSize, unsigned int waves, float amplitude); /** waves(波浪) amplitude(振幅) */ inline float getAmplitude(void) const { return _amplitude; } inline void setAmplitude(float fAmplitude) { _amplitude = fAmplitude; } /** waves(波浪)amplitude(振幅)rate */ inline float getAmplitudeRate(void) const { return _amplitudeRate; } inline void setAmplitudeRate(float fAmplitudeRate) { _amplitudeRate = fAmplitudeRate; } // Override virtual WavesTiles3D* clone() const override; virtual void update(float time) override; protected: unsigned int _waves; float _amplitude; float _amplitudeRate; }; /** @brief JumpTiles3D action. 使用 sin 函数移动 tiles 跨越 z 轴 */ class CC_DLL JumpTiles3D : public TiledGrid3DAction { public: /** 使用 跳跃次数、the sin amplitude(振幅)、grid 的尺寸、duration 创建一个 action */ static JumpTiles3D* create(float duration, const Size& gridSize, unsigned int numberOfJumps, float amplitude); /** 使用 跳跃次数、the sin amplitude(振幅)、grid 的尺寸、duration 初始化一个 action */ bool initWithDuration(float duration, const Size& gridSize, unsigned int numberOfJumps, float amplitude); /** amplitude(振幅) of the sin*/ inline float getAmplitude(void) const { return _amplitude; } inline void setAmplitude(float fAmplitude) { _amplitude = fAmplitude; } /** amplitude(振幅)rate(速率) */ inline float getAmplitudeRate(void) const { return _amplitudeRate; } inline void setAmplitudeRate(float fAmplitudeRate) { _amplitudeRate = fAmplitudeRate; } // Override virtual JumpTiles3D* clone() const override; virtual void update(float time) override; protected: unsigned int _jumps; float _amplitude; float _amplitudeRate; }; /** @brief SplitRows action */ class CC_DLL SplitRows : public TiledGrid3DAction { public : /** 使用 拆分行数、duration 创建一个 action */ static SplitRows* create(float duration, unsigned int nRows); /** 使用 拆分行数、duration 初始化一个 action*/ bool initWithDuration(float duration, unsigned int nRows); // Overrides virtual SplitRows* clone() const override; virtual void update(float time) override; virtual void startWithTarget(Node *target) override; protected: unsigned int _rows; Size _winSize; }; /** @brief SplitCols action */ class CC_DLL SplitCols : public TiledGrid3DAction { public: /** 使用 拆分列数、duration 创建一个 action */ static SplitCols* create(float duration, unsigned int nCols); /** 使用 拆分列数、duration 初始化一个 action */ bool initWithDuration(float duration, unsigned int nCols); // Overrides virtual SplitCols* clone() const override; virtual void update(float time) override; virtual void startWithTarget(Node *target) override; protected: unsigned int _cols; Size _winSize; }; // end of actions group /// @} NS_CC_END #endif // __ACTION_CCTILEDGRID_ACTION_H__
相关文章推荐
- cocos2d-x节点(CCActionGrid.h)API
- cocos2d-x节点(CCActionCamera.h)API
- cocos2d-x节点(CCActionCatmullRom.h)API
- cocos2d-x节点(CCActionEase.h)API
- cocos2d-x节点(CCActionInstant.h)API
- cocos2d-X 节点(CCAction.h)API
- cocos2d-x节点(CCActionProgressTimer.h)API
- cocos2d-X 节点(CCActionManager.h)API
- cocos2d-X 节点(CCActionFrameEasing.h)API
- cocos2d-x节点(CCActionTween.h)API
- cocos2d-X 节点(CCActionFrame.h)API
- cocos2d-X 节点(CCActionManagerEx.h)API
- cocos2d-X 节点(CCActionNode.h)API
- cocos2d-X 节点(CCActionObject.h)API
- 我的Cocos2d-x学习笔记(十八)CCGridAction
- cocos2d-x节点(CCVertex.h)API
- cocos2d-x节点(CCEventListenerCustom.h)API
- cocos2d-X 节点(CCMenuItem.h)API
- cocos2d-X 节点(CCMotionStreak.h)API
- cocos2d-x节点(CCEventListenerAcceleration.h)API