这个文件中都是一些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);// Overridesvirtual 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.7inline 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
/// @}

CCActionGird3D源码解析相关推荐

  1. 谷歌BERT预训练源码解析(二):模型构建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39470744/arti ...

  2. 谷歌BERT预训练源码解析(三):训练过程

    目录 前言 源码解析 主函数 自定义模型 遮蔽词预测 下一句预测 规范化数据集 前言 本部分介绍BERT训练过程,BERT模型训练过程是在自己的TPU上进行的,这部分我没做过研究所以不做深入探讨.BE ...

  3. 谷歌BERT预训练源码解析(一):训练数据生成

    目录 预训练源码结构简介 输入输出 源码解析 参数 主函数 创建训练实例 下一句预测&实例生成 随机遮蔽 输出 结果一览 预训练源码结构简介 关于BERT,简单来说,它是一个基于Transfo ...

  4. Gin源码解析和例子——中间件(middleware)

    在<Gin源码解析和例子--路由>一文中,我们已经初识中间件.本文将继续探讨这个技术.(转载请指明出于breaksoftware的csdn博客) Gin的中间件,本质是一个匿名回调函数.这 ...

  5. Colly源码解析——结合例子分析底层实现

    通过<Colly源码解析--框架>分析,我们可以知道Colly执行的主要流程.本文将结合http://go-colly.org上的例子分析一些高级设置的底层实现.(转载请指明出于break ...

  6. libev源码解析——定时器监视器和组织形式

    我们先看下定时器监视器的数据结构.(转载请指明出于breaksoftware的csdn博客) /* invoked after a specific time, repeatable (based o ...

  7. libev源码解析——定时器原理

    本文将回答<libev源码解析--I/O模型>中抛出的两个问题.(转载请指明出于breaksoftware的csdn博客) 对于问题1:为什么backend_poll函数需要指定超时?我们 ...

  8. libev源码解析——I/O模型

    在<libev源码解析--总览>一文中,我们介绍过,libev是一个基于事件的循环库.本文将介绍其和事件及循环之间的关系.(转载请指明出于breaksoftware的csdn博客) 目前i ...

  9. libev源码解析——调度策略

    在<libev源码解析--监视器(watcher)结构和组织形式>中介绍过,监视器分为[2,-2]区间5个等级的优先级.等级为2的监视器最高优,然后依次递减.不区分监视器类型和关联的文件描 ...

最新文章

  1. python语言程序设计基础第二版第六章答案-python语言程序设计基础(第二版)第五章答案随笔...
  2. 深究AngularJS——$sce的使用
  3. 请求分页算法 Python实现
  4. 【Java必备资料包】
  5. Nodejs架构之json空处理
  6. mysql 查询一个字段快还是一条记录快_mysql (优化)查询一条再筛选某个字段和直接查询该条的某个字段的效率比较...
  7. 小球(信息学奥赛一本通-T1363)
  8. call需要多大带宽 video_KCP TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。而KCP是为流速设计的(单个数据包从一端发送到一端需要多少时间)...
  9. Java -- 新IO -- 目录
  10. Linux服务器校准时间
  11. 测试ai模糊软件,“马赛克”视频能被AI软件彻底还原?测试结果出乎意料!
  12. 常用公差配合表图_机械密封零件的公差配合与技术要求
  13. 广西北部湾经济区升级发展 全面对接粤港澳大湾区
  14. html5 自动连接指定wifi,如何更改是否自动连接某一WIFI
  15. 戴尔将为奔驰多款车型设计专业的车载智能系统
  16. LCD模块加载启动分析
  17. 关于LocalDate、LocalTime、LocalDateTime
  18. CSS的作用与各种样式
  19. 机器学习中的数学——点估计(二):矩估计
  20. c语言链表增加新节点,C语言 链表的创建,以及节点的增加和删除

热门文章

  1. 每日学术速递1.26
  2. EtherCAT运动控制卡开发教程之Qt(中):小线段连续轨迹加工、暂停与继续
  3. 【刷题】BZOJ 4977 [Lydsy1708月赛]跳伞求生
  4. 背井离乡,为何仍要打拼北上广?---转自百度云
  5. 剑网三服务器缺少必要启动文件,主编还原win7系统剑网3连不上服务器的处理方法...
  6. Quartus II 13.0无modelsim进行仿真(用自带仿真器)
  7. 今日教学:怎么才能畅玩所有手游体验服?教你最简单的方法
  8. Python网络编程——HTTP协议学习笔记
  9. 使用Zuul构建微服务网关(路由)
  10. 让生活回归本源,极简主义生活