常见的22种特效点击打开链接
效果是一种特殊种类的行为。它不是修改常规的属性,比如透明度,位置,旋转或者变形,而是修改一种新的属性,网格属性。
网格属性就像是一个个交叉形成的一系列的矩形。
任何CCNode对象(Layer,Scene,Sprite等等)都具有这种特殊的属性,你可以通过移动他们的顶点来变换这些网格。
有两种类型的网格:平铺的网格和非平铺的网格。他们两者的区别是平铺的网格由单个的网格组成,而非平铺的网格是由顶点组成。
如下是一个涟漪3D动作,就是用了Grid3D(非平铺网格):
如下是一个渐变动作,用了TiledGrid3D(平铺网格):
二、那么我们如何用他们呢?
和其他的动作一样,它也是用runAction函数来执行,比如:
// 创建一个精灵 CCSprite* grossini = CCSprite::create("grossini.png"); grossini->runAction(CCLiquid::create(4,20,ccg(10,153)">10),153)">5));
Liquid:像一些其他的网格动作一样可以接收一些参数。你可以通过调整网格的大小来调整效果的质量。但是也暗示着将会有更少的FPS。
这种效果是间隔刷新的动作,你能够把它跟其他动作等同处理。例如:
如下就是一系列现有的Grid3D动作(非网格化):
Shaky3D | Waves3D | FlipX3D | FlipY3D |
---|---|---|---|
Liquid | Waves | Twirl |
---|
如下是一系列现有的TiledGrid3D动作(网格化的):
ShatteredTiles3D | ShuffleTiles | FadeOutTRTiles | |
---|---|---|---|
FadeOutBLTiles | FadeOutUpTiles | FadeOutDownTiles | TurnOffTiles |
CCShaky3D
作用:创建一个3d晃动的特效
参数1:晃动的范围
参数2:是否有z轴晃动
参数3: 网格大小
参数4:特效持续的时间
CCActionInterval * shaky3D= CCShaky3D::create(15,false,ccg(15,10),4);
sp->runAction(shaky3D);
CCShakyTiles3D
作用:创建一个3d瓷砖晃动的特效
// 参数1:晃动的范围
// 参数2:是否有z轴晃动
// 参数3: 网格大小
// 参数4:特效持续的时间
CCActionInterval * shakyTiles3D = CCShakyTiles3D::create(15,true,4);
sp->runAction(shakyTiles3D);
CCWaves
创建一个波动特效
参数1:波动的速率
参数2:振幅
参数3:水平波动
参数4:垂直波动
参数5:网格大小
参数6:特效持续时间
CCActionInterval * waves = CCWaves::create(10,20,ccg(16,12),4);
sp->runAction(waves);
CCWaves3D
// 创建一个3D波动特效
// 参数1:波动的速率
// 参数2:振幅
// 参数3:网格大小
// 参数4:特效持续时间
CCActionInterval * waves3d= CCWaves3D::create(10,4);
sp->runAction(waves3d);
CCWavesTiles3D
// 创建一个3D瓷砖波动特效
// 参数1:波动的速率
// 参数2:振幅
// 参数3:网格大小
// 参数4:特效持续时间
CCActionInterval * wavesTiles3D = CCWavesTiles3D::create(10,4);
sp->runAction(wavesTiles3D);
CCFlipX3D
作用:x轴3D反转特效
参数:特效持续的时间
CCActionInterval *flipX3D= CCFlipX3D::create(4);
sp->runAction(flipX3D);
CCFlipY3D
// 作用:Y轴3D反转特效
// 参数:特效持续的时间
CCActionInterval * flipY3D = CCFlipY3D::create(4);
sp->runAction(flipY3D);
CCLens3D
作用: 凸镜特效
参数1:凸镜中心点
参数2:凸镜半径
参数3:网格大小
参数4:网格持续时间
CCActionInterval * lens3D= CCLens3D::create(CCPointMake(size.width/2,size.height/2),240,4);
sp->runAction(lens3D);
CCRipple3D
作用:水波特效
参数1:起始位子
参数2:半径
参数3:速率
参数4:振幅
参数5:网格大小
参数6:特效持续的时间
CCActionInterval * ripple3D= CCRipple3D::create(CCPointMake(size.width/2,4,160,4);
sp->runAction(ripple3D);
CCLiquid
作用:液体特效
参数1:速率
参数2:振幅
参数3:网格大小
参数4:特效持续时间
CCActionInterval * liquid = CCLiquid::create(4,4);
sp->runAction(liquid);
CCTwirl
作用:扭曲旋转特效
参数1:扭曲旋转中心点
参数2:扭曲旋转的次数
参数3:振幅
参数4:网格大小
参数5:特效持续时间
CCActionInterval * twirl = CCTwirl::create(CCPointMake(size.width/2,2,2.5f,ccg(12,8),3);
sp->runAction(twirl);
CCShuffleTiles
作用:瓷砖的洗牌特效
参数1:随机数
参数2:网格大小
参数3:特效持续的时间
CCActionInterval *shuffleTiles = CCShuffleTiles::create(16,2);
sp->runAction(shuffleTiles);
CCShatteredTiles3D
作用:破碎的3D瓷砖特效
参数1:范围
参数2:是否开启z轴
参数3:网格大小
参数4:特效持续的时间
CCActionInterval * shatteredTiles3D= CCShatteredTiles3D::create(25,4);
sp->runAction(shatteredTiles3D);
CCFadeOutTRTiles
作用:部落格效果 , 从左下角到右下角
参数1:网格大小
参数2:特效持续的时间
CCActionInterval * fadeOutTRTiles = CCFadeOutTRTiles::create(ccg(16,3);
sp->runAction(fadeOutTRTiles);
CCFadeOutBLTiles
// 作用:部落格效果 , 从右下角到左下角
// 参数1:网格大小
// 参数2:特效持续的时间
CCActionInterval * fadeOutBLTiles = CCFadeOutBLTiles::create(ccg(16,3);
sp->runAction(fadeOutBLTiles);
CCFadeOutUpTiles
作用:折叠效果 从下到上
// 参数1:网格大小
// 参数2:特效持续的时间
CCActionInterval * fadeOutUpTiles = CCFadeOutUpTiles::create(ccg(16,3);
sp->runAction(fadeOutUpTiles);
CCFadeOutDownTiles
// 作用:折叠效果 从上到下
// 参数1:网格大小
// 参数2:特效持续的时间
CCActionInterval * fadeOutDownTiles = CCFadeOutDownTiles::create(ccg(16,3);
sp->runAction(fadeOutDownTiles);
CCTurnOffTiles
作用:方块消失特效
// 参数1:网格大小
// 参数2:特效持续的时间
CCActionInterval * turnOffTiles = CCTurnOffTiles::create(ccg(16,3);
sp->runAction(turnOffTiles);
CCJumpTiles3D
作用:跳动的方格特效
参数1:跳动的次数
参数2:网格的大小
参数3:特效持续的时间
CCActionInterval * jumpTiles3D = CCJumpTiles3D::create(1,30,2);
sp->runAction(jumpTiles3D);
CCSplitRows
作用:分多行消失特效
参数1:行数
参数2:特效持续的时间
CCActionInterval *splitRows= CCSplitRows::create(20,2);
sp->runAction(splitRows);
CCSplitCols
// 作用:分多列消失特效
// 参数1:列数
// 参数2:特效持续的时间
CCActionInterval * splitCols = CCSplitCols::create(20,2);
sp->runAction(splitCols);
CCPageTurn3D
作用:3D翻页特效
参数1:网格大小
参数2:特效持续的时间
CCActionInterval * pageTurn3D = CCPageTurn3D::create(ccg(15,3);
sp->runAction(pageTurn3D);
return true;
}