网格属性就像是一个个交叉形成的一系列的矩形。任何Node对象(Layer,Scene,Sprite等等)都具有这种特殊的属性,你可以通
过移动他们的顶点来变换这些网格。
有两种类型的网格:平铺的网格和非平铺的网格。他们两者的区别是平铺的网格由单个的网格组成,而非平铺的网格是由顶点组成。
继承于Grid3DAction的为非平铺网格,继承于TiledGrid3DAction的为平铺网格,自然产生的效果不同, 下面来看看都有哪些?
1、Shaky3D(晃动特效)、ShakyTiles3D(瓷砖晃动特效)
- /**
- *创建一个3D晃动的特效
- *duration:持续时间(时间过后不会回到原来的样子)
- *gridSize:整个屏幕被分成几行几列
- *range:晃动的范围
- *shakeZ:z轴是否晃动
- *看源码晃动范围range为网格的上的位置:
- for(i=0;i<(_gridSize.width+1);++i)
- {
- for(j=0;j<(_gridSize.height+1);++j)
- Vertex3Fv=getOriginalVertex(Vec2(i,j));
- v.x+=(rand()%(_randrange*2))-_randrange;
- v.y+=(rand()%(_randrange*2))-_randrange;
- if(_shakeZ)
- {
- v.z+=(rand()%(_randrange*2))-_randrange;
- }
- setVertex(Point(i,j),v);
- }
- */
- /**createstheactionwitharange,shakeZvertices,agridandduration*/
- staticShaky3D*create(floatduration,constSize&gridSize,intrange,87); background-color:inherit; font-weight:bold">boolshakeZ);
2、Waves3D(波浪特效)、WavesTiles3D(瓷砖波浪特效)、Waves(带方向的波浪特效,水平与垂直)
copy
- *创建一个3D波浪的特效
- *waves:波动的速率
- *amplitude:振幅
- /**createsanactionwithduration,gridsize,wavesandamplitude*/
- staticWaves3D*create(intwaves,87); background-color:inherit; font-weight:bold">floatamplitude);