cocos2dx基础篇(20) 扩展动作CCGridAction
【3.x】
(1)去掉“CC”
【CCGridAction】
CCGridAction有两个子类:CCGrid3DAction、CCTiledGrid3DAction。而我们关注的就是这两个子类所派生出来的一些格子动作。
(1)CCGrid3DAction: 是基于格子的动作。
(2)CCTiledGrid3DAction: 是基于网格的动作。
扩展知识:格子和网格的区别在于对CCNode对象的显示内容划分方式不同。网格代表了更小、更多的格子数目。
1、CCGrid3DAction
CCGrid3DAction:是基于格子的动作。
常用动作如下:
//
/**
* 晃动特效
*/
//3D晃动 (时间, 网格大小, 晃动范围, Z轴是否晃动);
CCShaky3D::create(float duration, const CCSize& gridSize, int range, bool shakeZ);
/**
* 液体波动特效
*/
//波动 (时间, 网格大小, 波动速度, 振幅, 是否水平波动, 是否垂直波动);
CCWaves::create(float duration, const CCSize& gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical);
//3D波动 (时间, 网格大小, 波动速度, 振幅);
CCWaves3D::create(float duration, const CCSize& gridSize, unsigned int waves, float amplitude);
//液体流动 (时间, 网格大小, 速度, 振幅);
CCLiquid::create(float duration, const CCSize& gridSize, unsigned int waves, float amplitude);
//3D水波 (时间, 网格大小, 坐标, 半径, 速度, 振幅);
CCRipple3D::create(float duration, const CCSize& gridSize, const CCPoint& position, float radius, unsigned int waves, float amplitude);
/**
* 翻转特效
*/
//X轴左右翻转 (时间);
CCFlipX3D::create(float duration);
//Y轴上下翻转 (时间);
CCFlipY3D::create(float duration);
/**
* 凸透镜特效
*/
//凸透镜 (时间, 网格大小, 圆心坐标, 圆半径);
CCLens3D::create(float duration, const CCSize& gridSize, const CCPoint& position, float radius);
/**
* 扭曲特效
*/
//扭曲 (时间, 网格大小, 坐标, 扭曲次数, 振幅);
CCTwirl::create(float duration, const CCSize& gridSize, CCPoint position, unsigned int twirls, float amplitude);
/**
* 书本翻页特效
*/
//翻页消失 (时间, 网格大小);
CCPageTurn3D::create(float duration, const CCSize& gridSize);
//
使用方法:
//
//晃动特效
CCShaky3D::create(10, CCSizeMake(1,1), 10, true);
//液体波动特效
CCWaves::create(10, CCSizeMake(1,1), 100, 10, true, true);
CCWaves3D::create(10, CCSizeMake(1,1), 100, 10);
CCLiquid::create(10, CCSizeMake(10,10), 10, 10);
CCRipple3D::create(10, CCSizeMake(100,100), ccp(200,200), 50, 50, 50);
//翻转特效
CCFlipX3D::create(1);
CCFlipY3D::create(1);
//凸透镜特效
CCLens3D::create(10, CCSizeMake(100,100), ccp(100,100), 150);
//扭曲特效
CCTwirl::create(10, CCSizeMake(10,10), ccp(200,200), 5, 10);
//书本翻页消失
CCPageTurn3D::create(10, CCSizeMake(20,20));
//
2、CCTiledGrid3DAction
CCTiledGrid3DAction:是基于网格的动作。
常用动作如下:
//
/**
* 晃动特效
*/
//3D网格晃动 (时间, 网格大小, 晃动范围, Z轴是否晃动);
CCShakyTiles3D* create(float duration, const CCSize& gridSize, int nRange, bool bShakeZ);
/**
* 波动特效
*/
//3D瓷砖波动效果 (时间, 网格大小, 波动速度, 振幅);
CCWavesTiles3D* create(float duration, const CCSize& gridSize, unsigned int waves, float amplitude);
/**
* 跳动特效
*/
//网格跳动 (时间, 网格大小, 次数, 振幅);
CCJumpTiles3D* create(float duration, const CCSize& gridSize, unsigned int numberOfJumps, float amplitude);
/**
* 破碎特效
*/
//格子破碎 (时间, 网格大小, 晃动范围, Z轴是否晃动);
CCShatteredTiles3D* create(float duration, const CCSize& gridSize, int nRange, bool bShatterZ);
/**
* 洗牌特效
*/
//格子随机洗牌 (时间, 网格大小, 随机数);
CCShuffleTiles* create(float duration, const CCSize& gridSize, unsigned int seed);
/**
* 消失特效
*/
//右上到左下,剥落网格 (时间, 网格大小);
CCFadeOutBLTiles* create(float duration, const CCSize& gridSize);
//左下到右上,剥落网格 (时间, 网格大小);
CCFadeOutTRTiles* create(float duration, const CCSize& gridSize);
//上到下,一行行剥落网格 (时间, 网格大小);
CCFadeOutDownTiles* create(float duration, const CCSize& gridSize);
//下到上,一行行剥落网格 (时间, 网格大小);
CCFadeOutUpTiles* create(float duration, const CCSize& gridSize);
//网格随机一个个消失 (时间, 网格大小, 随机数);
CCTurnOffTiles* create(float duration, const CCSize& gridSize, unsigned int seed = 0);
//多行消失(水平) (时间, 行数);
CCSplitRows* create(float duration, unsigned int nRows);
//多行消失(垂直) (时间, 列数);
CCSplitCols* create(float duration, unsigned int nCols);
//
使用方法:
//
//晃动
CCShakyTiles3D::create(10, CCSizeMake(1,1), 10, true);
//波动
CCWavesTiles3D::create(10, CCSizeMake(1,1), 10, 10);
//跳动
CCJumpTiles3D::create(10, CCSizeMake(5,5), 5, 10);
//破碎
CCShatteredTiles3D::create(10, CCSizeMake(1,1), 100, true);
//洗牌
CCShuffleTiles::create(10, CCSizeMake(10,10), 100);
//消失
CCFadeOutBLTiles::create(10, CCSizeMake(10,10));
CCFadeOutTRTiles::create(10, CCSizeMake(20,20));
CCFadeOutDownTiles::create(10, CCSizeMake(20,20));
CCFadeOutUpTiles::create(10, CCSizeMake(20,20));
CCTurnOffTiles::create(10, CCSizeMake(20,20), 100);
CCSplitRows::create(10, 10);
CCSplitCols::create(10, 10);
//
3、关于网格大小
发现上面动作的创建都带有“网格大小”这个参数。那这个参数是什么意思呢?
网格大小是一个CCSize类,即指定了宽度width、高度height。而这里的意义并不是指宽度和高度。而是指屏幕的宽和高被划分的个数。
如网格大小为CCSizeMake(5,10)。那么宽被5等分,高被10等分。
如下图所示:

4、格子与网格
格子与网格的区别,看完下面的几张图就明白了:
4.1、晃动特效


4.2、波动特效


cocos2dx基础篇(20) 扩展动作CCGridAction的更多相关文章
- cocos2dx基础篇(3) 常用重要类
---------------------------------------- 入口类main.cpp 主要控制类AppDelegate.cpp -------------------------- ...
- iOS系列 基础篇 07 Action动作和输出口
iOS系列 基础篇 07 Action动作和输出口 目录: 1. 前言及案例说明 2. 什么是动作? 3. 什么是输出口? 4. 实战 5. 结尾 1. 前言及案例说明 上篇内容我们学习了标签和按钮 ...
- cocos2dx基础篇(28) 布景层Layer的三个子类
[3.x] (1)去掉 "CC" [CCLayerColor] 颜色布景层CCLayerColor有两个父类:CCLayerRGBA.CCBlendProtocol.相信有 ...
- cocos2dx基础篇(14) 滚动视图CCScrollView
[3.x] (1)去掉 "CC" (2)滚动方向 > CCScrollViewDirection 改为强枚举 ScrollView::Dire ...
- 【Cocos2d入门教程二】Cocos2d-x基础篇
上一章已经学习了环境的搭建.这一章对基础概念进行掌握.内容大概有: 1.导演 2.场景 3.节点 4.层 4.精灵 1.导演(Director) 导演存在的主要作用: a.环境设定(帧率 初始化ope ...
- cocos2dx基础篇(23) 粒子系统CCParticleSystem
[3.x] (1)去掉"CC" (2)粒子位置模式 tPositionType 改为强枚举类型 ParticleSystem::PositionType:: // ...
- cocos2dx基础篇(22) 基本动画CCAnimation/CCAnimate
[小知识] CCSpriteFrame :精灵帧. 它是相对动画而产生的,其实就是一张纹理图片. CCAnimationFrame :动画帧. 由精灵帧与间隔帧数组成,是动画CC ...
- cocos2dx基础篇(4) 标签CCLabel
[本节内容] cocos2dx三种文字字体的显示:CCLabelTTF(一般字体).CCLabelAtlas(自定义字体).CCLabelBMFont(自定义字体) CCLabelTTF CCLabe ...
- cocos2dx基础篇(19) 基本动作CCAction
[3.x] (1)去掉"CC" (2)新增了一些动作:(精力有限,新增的动作请自行摸索) > EaseBezierAction > EaseQuadra ...
随机推荐
- 如何在 Visual C# 中执行基本的文件 I/O
演示文件 I/O 操作 本文中的示例讲述基本的文件 I/O 操作.“分步示例”部分说明如何创建一个演示下列六种文件 I/O 操作的示例程序: 注意:如果要直接使用下列示例代码,请注意下列事项: 必须包 ...
- Codeforces Round #575 (Div. 3) (A. Three Piles of Candies)(数学)
A. Three Piles of Candies time limit per test1 second memory limit per test256 megabytes inputstanda ...
- Atcoder Regular 098 区间Pre=Xor Q询问区间连续K去最小值最小极差
C 用scanf("%s")就会WA..不知道为什么 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset ...
- 解读sam格式文件
1,SAM文件格式介绍 SAM(The Sequence Alignment / Map format)格式,即序列比对文件的格式,详细介绍文档:http://samtools.github.io/h ...
- Spring框架几种创建bean的方式
Spring框架下,Bean的创建和装配非常的灵活,提供了三种主要的方式,并且相互见可以互相看见,也就是你可以随意地采用你喜欢且合适的方式创建Bean,而不用担心他们之间的兼容问题. 一.使用XML显 ...
- 跨域 (3) window.name
window对象有一个name属性,该属性有一个特征:即在一个窗口的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每一个页面对window.name都有读写的权限,window ...
- Spring 跨重定向请求传递数据
在处理完POST请求后, 通常来讲一个最佳实践就是执行一下重定向.除了其他的一些因素外,这样做能够防止用户点击浏览器的刷新按钮或后退箭头时,客户端重新执行危险的POST请求. 在控制器方法返回的视图名 ...
- 解决sonar的ES无法启动问题
单独启动SonarQube自带的ElasticSearch报错 错误1.8:++PrintGCDetails找不到主类等 解决方法: 打开sonar/elasticsearch/config文件夹 修 ...
- 16. ClustrixDB Rebalancer
管理平衡 Clustrix Rebalancer被设计成自动作为后台进程运行,以便跨集群重新平衡数据.介绍如何配置和监视rebalancer,但是大多数部署不需要用户干预. Rebalancer主要通 ...
- formData和input的file结合使用
<form method="POST" id="uploadForm" enctype="multipart/form-data"&g ...