本文由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 |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |