本文由qinning199原创,转载请注明:http://www.cocos2dx.net/?p=55
函数
1、介绍ui
效果是一种特殊种类的行为。它不是修改常规的属性,好比透明度,位置,旋转或者变形,而是修改一种新的属性,网格属性。this
网格属性就像是一个个交叉造成的一系列的矩形。spa
任何CCNode对象(Layer,Scene,Sprite等等)都具备这种特殊的属性,你能够经过移动他们的顶点来变换这些网格。.net
有两种类型的网格:平铺的网格和非平铺的网格。他们二者的区别是平铺的网格由单个的网格组成,而非平铺的网格是由顶点组成。对象
以下是一个涟漪3D动做,就是用了Grid3D(非平铺网格):
blog
以下是一个渐变更做,用了TiledGrid3D(平铺网格):
ip
和其余的动做同样,它也是用runAction函数来执行,好比:it
// 建立一个精灵 CCSprite* grossini = CCSprite::create("grossini.png"); grossini->runAction(CCLiquid::create(4, 20, ccg(10,10), 5));
Liquid:像一些其余的网格动做同样能够接收一些参数。你能够经过调整网格的大小来调整效果的质量。可是也暗示着将会有更少的FPS。
这种效果是间隔刷新的动做,你可以把它跟其余动做等同处理。例如:
// 建立一个Lens3D 动做 CCActionInterval* lens = CCLens3D::create(ccp(240,160),240,ccg(15,10),8); // 建立一个 Waved3D 动做 CCActionInterval* waves = CCWaves3D::create(18,80,ccg(15,10),10); // 建立一个可以一直执行的动做 grossini->runAction(CCRepeatForever::create((CCSequence*)CCSequence::create(waves, lens, NULL ) ) );
以下就是一系列现有的Grid3D动做(非网格化):
Shaky3D | Waves3D | FlipX3D | FlipY3D |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Lens3D | Liquid | Waves | Twirl |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Ripple3D |
---|
![]() |
以下是一系列现有的TiledGrid3D动做(网格化的):
ShakyTiles3D | ShatteredTiles3D | ShuffleTiles | FadeOutTRTiles |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
FadeOutBLTiles | FadeOutUpTiles | FadeOutDownTiles | TurnOffTiles |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
WavesTiles3D | JumpTiles3D | SplitRows | SplitCols |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |