Effects是特殊类型的action.与修改常规的属性如透明度,位置,旋转或缩放等不同,它们修改的是一种新类型的属性:grid属性。grid属性像是一个模型,是一个线条交叉的网格,具体表现是一系列的正方形或长方形。这些特殊的actions可以渲染任一CCNode对象 (Layer, Scene, Sprite, 等.)到grid中,你可以通过顶点来转换grid。一共有2类grid: 布局grid和非布局grid.它们的区别在于布局grid是由独立的布局组成,而非布局grid由顶点组成。
官网上有相关的介绍:http://www.cocos2d-iphone.org/introduction-to-cocos2ds-effects/
下面是Grid3D (non-tiled) 的一些特效:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
下面是TiledGrid3D (tiled)的一些特效:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
在WP8的Cocos2d-x的2.0版本里面暂时还不支持特效效果,那么可以用0.13版本来进行测试。
代码实例:
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCSprite *b = CCSprite::spriteWithFile("squirrel_1.png");
b->setPosition(ccp(size.width * 0.5, size.height * 0.5));
this->addChild(b);
CCActionInterval* effect= CCRipple3D::actionWithPosition(CCPointMake(size.width/,size.height/), , , , ccg(,), );
b->runAction(effect);
运行的效果: