CCActionGird3D源码解析
来源:互联网 发布:matlab编程题 编辑:程序博客网 时间:2024/05/18 09:24
这个文件中都是一些3D网格动作。思维导图如下:
源码:
/** * @addtogroup actions * @{ *//** @brief Waves3D action.@details This action is used for take effect on the target node as 3D waves. You can control the effect by these parameters: duration, grid size, waves count, amplitude.*//// 3D波浪动作class CC_DLL Waves3D : public Grid3DAction{public: /** @brief Create an action with duration, grid size, waves and amplitude. @param duration Specify the duration of the Waves3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param waves Specify the waves count of the Waves3D action. @param amplitude Specify the amplitude of the Waves3D action. @return If the creation sucess, return a pointer of Waves3D action; otherwise, return nil. *//// 创建一个3D波浪动作/// duration 持续时间/// 网格尺寸/// 波浪的数量/// 波浪的振幅/// 如果成功创建的话,返回一个3D波浪的指针,否则,返回空 static Waves3D* create(float duration, const Size& gridSize, unsigned int waves, float amplitude); /** @brief Get the amplitude of the effect. @return Return the amplitude of the effect. *//// 得到3D波浪的振幅 inline float getAmplitude() const { return _amplitude; } /** @brief Set the amplitude to the effect. @param amplitude The value of amplitude will be set. *//// 设置3D波浪的振幅 inline void setAmplitude(float amplitude) { _amplitude = amplitude; } /** @brief Get the amplitude rate of the effect. @return Return the amplitude rate of the effect. *//// 得到振幅的频率 inline float getAmplitudeRate() const { return _amplitudeRate; } /** @brief Set the ampliture rate of the effect. @param amplitudeRate The value of amplitude rate will be set. *//// 设置振幅的频率 inline void setAmplitudeRate(float amplitudeRate) { _amplitudeRate = amplitudeRate; }// Overridesvirtual Waves3D* clone() const override; virtual void update(float time) override; CC_CONSTRUCTOR_ACCESS: Waves3D() {} virtual ~Waves3D() {} /** @brief Initializes an action with duration, grid size, waves and amplitude. @param duration Specify the duration of the Waves3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param waves Specify the waves count of the Waves3D action. @param amplitude Specify the amplitude of the Waves3D action. @return If the initialization success, return true; otherwise, return false. *//// 初始化3D波浪动作 bool initWithDuration(float duration, const Size& gridSize, unsigned int waves, float amplitude);protected: unsigned int _waves; float _amplitude; float _amplitudeRate;private: CC_DISALLOW_COPY_AND_ASSIGN(Waves3D);};/**@brief FlipX3D action.@details This action is used for flipping the target node on the x axis.*//// 水平3D翻转动作class CC_DLL FlipX3D : public Grid3DAction{public: /** @brief Create the action with duration. @param duration Specify the duration of the FilpX3D action. It's a value in seconds. @return If the creation sucess, return a pointer of FilpX3D action; otherwise, return nil. *//// 传入持续时间创建这个动作 static FlipX3D* create(float duration); // Overridevirtual FlipX3D* clone() const override; virtual void update(float time) override; CC_CONSTRUCTOR_ACCESS: FlipX3D() {} virtual ~FlipX3D() {} /** @brief Initializes an action with duration. @param duration Specify the duration of the FlipX3D action. It's a value in seconds. @return If the initialization success, return true; otherwise, return false. *//// 初始化3D翻转动作,通过持续时间 bool initWithDuration(float duration); /** @brief Initializes an action with duration and grid size. @param gridSize Specify the grid size of the FlipX3D action. @param duration Specify the duration of the FlipX3D action. It's a value in seconds. @return If the initialization success, return true; otherwise, return false. *//// 通过网格尺寸和持续时间初始化3D翻转动作 virtual bool initWithSize(const Size& gridSize, float duration);private: CC_DISALLOW_COPY_AND_ASSIGN(FlipX3D);};/**@brief FlipY3D action.@details This action is used for flipping the target node on the y axis.*//// 3D竖直翻转动作class CC_DLL FlipY3D : public FlipX3D{public: /** @brief Create the action with duration. @param duration Specify the duration of the FlipY3D action. It's a value in seconds. @return If the creation sucess, return a pointer of FlipY3D action; otherwise, return nil. *//// 创建一个3D竖直翻转动作 static FlipY3D* create(float duration); // Overrides virtual void update(float time) override;virtual FlipY3D* clone() const override;CC_CONSTRUCTOR_ACCESS: FlipY3D() {} virtual ~FlipY3D() {}private: CC_DISALLOW_COPY_AND_ASSIGN(FlipY3D);};/**@brief Lens3D action.@details This action is used for take effect on the target node as lens. You can create the action by these parameters: duration, grid size, center position of lens, radius of lens. Also you can change the lens effect value & whether effect is concave by the setter methods.*//// 3D透镜动作///class CC_DLL Lens3D : public Grid3DAction{public: /** @brief Create the action with center position, radius, a grid size and duration. @param duration Specify the duration of the Lens3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param position Specify the center position of the lens. @param radius Specify the radius of the lens. @return If the creation sucess, return a pointer of Lens3D action; otherwise, return nil. *//// 产生一个3D透镜动作 static Lens3D* create(float duration, const Size& gridSize, const Vec2& position, float radius); /** @brief Get the value of lens effect. Default value is 0.7. @return The value of lens effect. *//// 得到lens_effect的值,默认值是0.7 inline float getLensEffect() const { return _lensEffect; } /** @brief Set the value of lens effect. @param lensEffect The value of lens effect will be set. *//// 设置lens_effect 的值 inline void setLensEffect(float lensEffect) { _lensEffect = lensEffect; } /** @brief Set whether lens is concave. @param concave Whether lens is concave. *//// 设置是否凹陷 inline void setConcave(bool concave) { _concave = concave; } /** @brief Get the center position of lens effect. @return The center position of lens effect. *//// 得到透镜效果的中心点的位置 inline const Vec2& getPosition() const { return _position; } /** @brief Set the center position of lens effect. @param position The center position will be set. *//// 设置透镜效果的中心点位置 void setPosition(const Vec2& position); // Overridesvirtual Lens3D* clone() const override; virtual void update(float time) override; CC_CONSTRUCTOR_ACCESS: Lens3D() {} virtual ~Lens3D() {} /** @brief Initializes the action with center position, radius, grid size and duration. @param duration Specify the duration of the Lens3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param position Specify the center position of the lens effect. @param radius Specify the radius of the lens effect. @return If the initialization success, return true; otherwise, return false. *//// 初始化 bool initWithDuration(float duration, const Size& gridSize, const Vec2& position, float radius);protected: /* lens center position */ Vec2 _position; float _radius; /** lens effect. Defaults to 0.7 - 0 means no effect, 1 is very strong effect *//// 透镜效果,默认值是0.7,0代表没有效果,1代表有非常明显的效果 float _lensEffect; /** lens is concave. (true = concave, false = convex) default is convex i.e. false *//// 透镜是否是凹面的,true= 凹面,false= 凸面 bool _concave; bool _dirty;private: CC_DISALLOW_COPY_AND_ASSIGN(Lens3D);};/**@brief Ripple3D action.@details This action is used for take effect on the target node as ripple. You can create the action by these parameters: duration, grid size, center position of ripple, radius of ripple, waves count, amplitude.*//// 3D波纹动作class CC_DLL Ripple3D : public Grid3DAction{public: /** @brief Create the action with center position, radius, number of waves, amplitude, a grid size and duration. @param duration Specify the duration of the Ripple3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param position Specify the center position of the ripple effect. @param radius Specify the radius of the ripple effect. @param waves Specify the waves count of the ripple effect. @param amplitude Specify the amplitude of the ripple effect. @return If the creation sucess, return a pointer of Ripple3D action; otherwise, return nil. *//// 产生一个3D波纹动作 static Ripple3D* create(float duration, const Size& gridSize, const Vec2& position, float radius, unsigned int waves, float amplitude); /** @brief Get the center position of ripple effect. @return The center position of ripple effect. *//// 得到波纹3D动作的中心点 inline const Vec2& getPosition() const { return _position; } /** @brief Set the center position of ripple effect. @param position The center position of ripple effect will be set. *//// 设置波纹3D动作的中心点 void setPosition(const Vec2& position); /** @brief Get the amplitude of ripple effect. @return The amplitude of ripple effect. *//// 得到波纹3D动作的振幅 inline float getAmplitude() const { return _amplitude; } /** @brief Set the amplitude of ripple effect. @param fAmplitude The amplitude of ripple effect. *//// 设置波纹3D动作的振幅 inline void setAmplitude(float fAmplitude) { _amplitude = fAmplitude; } /** @brief Get the amplitude rate of ripple effect. @return The amplitude rate of ripple effect. *//// 得到波纹3D动作多的频率 inline float getAmplitudeRate() const { return _amplitudeRate; } /** @brief Set the amplitude rate of ripple effect. @param fAmplitudeRate The amplitude rate of ripple effect. *//// 设置波纹3D动作的频率 inline void setAmplitudeRate(float fAmplitudeRate) { _amplitudeRate = fAmplitudeRate; } // Overridevirtual Ripple3D* clone() const override; virtual void update(float time) override;CC_CONSTRUCTOR_ACCESS: Ripple3D() {} virtual ~Ripple3D() {} /** @brief Initializes the action with center position, radius, number of waves, amplitude, a grid size and duration. @param duration Specify the duration of the Ripple3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param position Specify the center position of the ripple effect. @param radius Specify the radius of the ripple effect. @param waves Specify the waves count of the ripple effect. @param amplitude Specify the amplitude of the ripple effect. @return If the initialization success, return true; otherwise, return false. */ /// 初始化波纹3D动作 bool initWithDuration(float duration, const Size& gridSize, const Vec2& position, float radius, unsigned int waves, float amplitude);protected: /* center position */ Vec2 _position; float _radius; unsigned int _waves; float _amplitude; float _amplitudeRate;private: CC_DISALLOW_COPY_AND_ASSIGN(Ripple3D);};/**@brief Shaky3D action.@details This action is used for take effect on the target node as shaky. You can create the action by these parameters: duration, grid size, range, whether shake on the z axis.*//// 震动3D动作/// 这个动作用来使一个节点产生震动效果/// 可以通过以下的参数创建一个震动动作:持续时间,网格尺寸,震动范围,是否在Z轴上震动class CC_DLL Shaky3D : public Grid3DAction{public: /** @brief Create the action with a range, shake Z vertices, a grid and duration. @param initWithDuration Specify the duration of the Shaky3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param range Specify the range of the shaky effect. @param shakeZ Specify whether shake on the z axis. @return If the creation sucess, return a pointer of Shaky3D action; otherwise, return nil. *//// 创建一个震动3D动作 static Shaky3D* create(float initWithDuration, const Size& gridSize, int range, bool shakeZ); // Overridesvirtual Shaky3D* clone() const override; virtual void update(float time) override; CC_CONSTRUCTOR_ACCESS: Shaky3D() {} virtual ~Shaky3D() {} /** @brief Initializes the action with a range, shake Z vertices, grid size and duration. @param duration Specify the duration of the Shaky3D action. It's a value in seconds. @param gridSize Specify the size of the grid. @param range Specify the range of the shaky effect. @param shakeZ Specify whether shake on the z axis. @return If the Initialization sucess, return true; otherwise, return false. *//// 初始化震动3D动作 bool initWithDuration(float duration, const Size& gridSize, int range, bool shakeZ);protected: int _randrange; bool _shakeZ;private: CC_DISALLOW_COPY_AND_ASSIGN(Shaky3D);};/**@brief Liquid action.@details This action is used for take effect on the target node as liquid. You can create the action by these parameters: duration, grid size, waves count, amplitude of the liquid effect.*//// 液体动作/// 这个动作使一个节点产生液体的效果class CC_DLL Liquid : public Grid3DAction{public: /** @brief Create the action with amplitude, grid size, waves count and duration. @param duration Specify the duration of the Liquid action. It's a value in seconds. @param gridSize Specify the size of the grid. @param waves Specify the waves count of the Liquid action. @param amplitude Specify the amplitude of the Liquid action. @return If the creation sucess, return a pointer of Liquid action; otherwise, return nil. *//// 创建一个液体动作/// duartion 持续时间/// gridSize 网格的尺寸/// waves 动作中波浪的个数/// amplitude 动作的振幅 static Liquid* create(float duration, const Size& gridSize, unsigned int waves, float amplitude); /** @brief Get the amplitude of the effect. @return Return the amplitude of the effect. *//// 得到动作的振幅 inline float getAmplitude() const { return _amplitude; } /** @brief Set the amplitude to the effect. @param amplitude The value of amplitude will be set. *//// 设置动作的振幅 inline void setAmplitude(float amplitude) { _amplitude = amplitude; } /** @brief Get the amplitude rate of the effect. @return Return the amplitude rate of the effect. *//// 得到震动的频率 inline float getAmplitudeRate() const { return _amplitudeRate; } /** @brief Set the ampliture rate of the effect. @param amplitudeRate The value of amplitude rate will be set. *//// 设置震动的频率 inline void setAmplitudeRate(float amplitudeRate) { _amplitudeRate = amplitudeRate; } // Overridesvirtual Liquid* clone() const override; virtual void update(float time) override; CC_CONSTRUCTOR_ACCESS: Liquid() {} virtual ~Liquid() {} /** @brief Initializes the action with amplitude, grid size, waves count and duration. @param duration Specify the duration of the Liquid action. It's a value in seconds. @param gridSize Specify the size of the grid. @param waves Specify the waves count of the Liquid action. @param amplitude Specify the amplitude of the Liquid action. @return If the initialization sucess, return true; otherwise, return false. *//// 初始化 bool initWithDuration(float duration, const Size& gridSize, unsigned int waves, float amplitude);protected: unsigned int _waves; float _amplitude; float _amplitudeRate;private: CC_DISALLOW_COPY_AND_ASSIGN(Liquid);};/**@brief Waves action.@details This action is used for take effect on the target node as waves. You can control the effect by these parameters: duration, grid size, waves count, amplitude, whether waves on horizontal and whether waves on vertical.*//// 波浪/// 这个动作是一个节点产生波浪效果/// 你可以通过以下参数控制这个效果:/// 持续时间,网格尺寸,波浪数量,振幅,波浪是水平方向还是竖直方向class CC_DLL Waves : public Grid3DAction{public: /** @brief Create the action with amplitude, horizontal sin, vertical sin, grid size, waves count and duration. @param duration Specify the duration of the Waves action. It's a value in seconds. @param gridSize Specify the size of the grid. @param waves Specify the waves count of the Waves action. @param amplitude Specify the amplitude of the Waves action. @param horizontal Specify whether waves on horizontal. @param vertical Specify whether waves on vertical. @return If the creation sucess, return a pointer of Waves action; otherwise, return nil. *//// 创建一个波浪动作/// duration 持续时间/// gridSize 网格尺寸/// waves 波浪数量 /// amplitude 振幅/// horizontal 水平方向是否有波浪/// vertical 竖直方向是否有波浪 static Waves* create(float duration, const Size& gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical); /** @brief Get the amplitude of the effect. @return Return the amplitude of the effect. *//// 得到动作的振幅 inline float getAmplitude() const { return _amplitude; } /** @brief Set the amplitude to the effect. @param amplitude The value of amplitude will be set. *//// 设置动作的振幅 inline void setAmplitude(float amplitude) { _amplitude = amplitude; } /** @brief Get the amplitude rate of the effect. @return Return the amplitude rate of the effect. *//// 得到振幅的频率 inline float getAmplitudeRate() const { return _amplitudeRate; } /** @brief Set the ampliture rate of the effect. @param amplitudeRate The value of amplitude rate will be set. *//// 设置振幅的频率 inline void setAmplitudeRate(float amplitudeRate) { _amplitudeRate = amplitudeRate; } // Overridesvirtual Waves* clone() const override; virtual void update(float time) override; CC_CONSTRUCTOR_ACCESS: Waves() {} virtual ~Waves() {} /** @brief Initializes the action with amplitude, horizontal sin, vertical sin, grid size, waves count and duration. @param duration Specify the duration of the Waves action. It's a value in seconds. @param gridSize Specify the size of the grid. @param waves Specify the waves count of the Waves action. @param amplitude Specify the amplitude of the Waves action. @param horizontal Specify whether waves on horizontal. @param vertical Specify whether waves on vertical. @return If the initialization sucess, return true; otherwise, return false. *//// 初始化动作 bool initWithDuration(float duration, const Size& gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical);protected: unsigned int _waves; float _amplitude; float _amplitudeRate; bool _vertical; bool _horizontal;private: CC_DISALLOW_COPY_AND_ASSIGN(Waves);};/**@brief Twirl action.@details This action is used for take effect on the target node as twirl. You can control the effect by these parameters: duration, grid size, center position, twirls count, amplitude.*//// 扭曲动作/// 这个动作是在一个节点上产生扭曲效果/// 你可以通过控制以下参数,控制效果:持续时间,网格尺寸,中心位置,扭曲数量,振幅class CC_DLL Twirl : public Grid3DAction{public: /** @brief Create the action with center position, number of twirls, amplitude, a grid size and duration. @param duration Specify the duration of the Twirl action. It's a value in seconds. @param gridSize Specify the size of the grid. @param position Specify the center position of the twirl action. @param twirls Specify the twirls count of the Twirl action. @param amplitude Specify the amplitude of the Twirl action. @return If the creation sucess, return a pointer of Twirl action; otherwise, return nil. *//// 创建一个扭曲动作 static Twirl* create(float duration, const Size& gridSize, Vec2 position, unsigned int twirls, float amplitude); /** @brief Get the center position of twirl action. @return The center position of twirl action. *//// 得到动作的中心位置 inline const Vec2& getPosition() const { return _position; } /** @brief Set the center position of twirl action. @param position The center position of twirl action will be set. */ /// 设置动作的中心位置void setPosition(const Vec2& position); /** @brief Get the amplitude of the effect. @return Return the amplitude of the effect. *//// 得到动作的振幅 inline float getAmplitude() const { return _amplitude; } /** @brief Set the amplitude to the effect. @param amplitude The value of amplitude will be set. *//// 设置动作的振幅 inline void setAmplitude(float amplitude) { _amplitude = amplitude; } /** @brief Get the amplitude rate of the effect. @return Return the amplitude rate of the effect. *//// 得到振幅的频率 inline float getAmplitudeRate() const { return _amplitudeRate; } /** @brief Set the ampliture rate of the effect. @param amplitudeRate The value of amplitude rate will be set. *//// 设置振幅的频率 inline void setAmplitudeRate(float amplitudeRate) { _amplitudeRate = amplitudeRate; } // Overridesvirtual Twirl* clone() const override; virtual void update(float time) override; CC_CONSTRUCTOR_ACCESS: Twirl() {} virtual ~Twirl() {} /** @brief Initializes the action with center position, number of twirls, amplitude, a grid size and duration. @param duration Specify the duration of the Twirl action. It's a value in seconds. @param gridSize Specify the size of the grid. @param position Specify the center position of the twirl action. @param twirls Specify the twirls count of the Twirl action. @param amplitude Specify the amplitude of the Twirl action. @return If the initialization sucess, return true; otherwise, return false. *//// 初始化动作 bool initWithDuration(float duration, const Size& gridSize, Vec2 position, unsigned int twirls, float amplitude);protected: /* twirl center */ Vec2 _position; unsigned int _twirls; float _amplitude; float _amplitudeRate;private: CC_DISALLOW_COPY_AND_ASSIGN(Twirl);};// end of actions group/// @}
0 0
- CCActionGird3D源码解析
- 源码解析
- 源码解析
- 【JDk源码解析之一】ArrayList源码解析
- 【源码解析】-- ArrayList的源码解析
- EventBus源码解析(史上最全的源码解析)
- 【源码】Vector、Stack源码解析
- Sping源码解析-源码下载
- <Android源码>IntentService源码解析
- JAVA源码解析-String源码
- JAVA源码解析-ArrayList源码
- JAVA源码解析-LinkedList源码
- Spark源码-SparkContext源码解析
- Jboss源码解析
- 网页病毒源码解析
- strlen源码解析
- chrome源码解析系列
- gnash源码解析
- C# 之 FTP服务器中文件上传与下载(二)
- [GDOI模拟2015.08.18]解密
- C++ Primer 5e chapter 14.1
- java实现ArrayList LinkedList 和迭代器
- C/C++头文件注释
- CCActionGird3D源码解析
- (2.1.20)java中的进程
- 【BZOJ1212】【HNOI2004】L语言
- Deep Learning及NLP(自然语言处理)杂谈--第三部分
- 黑马程序员 --- OC中的类
- iOS项目开发实战——学会使用TableView列表控件(四)plist读取与Section显示
- 数据结构之---C语言实现拓扑排序AOV图
- Basic Calculator II
- ROM、SDRAM、RAM、DRAM、SRAM、FLASH 的区别