6、cocos2dx-效果(Effect)

本文由qinning199原創,轉載請註明:http://www.cocos2dx.net/?p=55
函數

1、介紹ui

     效果是一種特殊種類的行爲。它不是修改常規的屬性,好比透明度,位置,旋轉或者變形,而是修改一種新的屬性,網格屬性。this

網格屬性就像是一個個交叉造成的一系列的矩形。spa

任何CCNode對象(Layer,Scene,Sprite等等)都具備這種特殊的屬性,你能夠經過移動他們的頂點來變換這些網格。.net

有兩種類型的網格:平鋪的網格和非平鋪的網格。他們二者的區別是平鋪的網格由單個的網格組成,而非平鋪的網格是由頂點組成。對象

以下是一個漣漪3D動做,就是用了Grid3D(非平鋪網格):
 
blog

 

以下是一個漸變更做,用了TiledGrid3D(平鋪網格):
  
ip

 

2、那麼咱們如何用他們呢?get

和其餘的動做同樣,它也是用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  
相關文章
相關標籤/搜索