六、cocos2dx-效果(Effect)

本文由qinning199原创,转载请注明:http://www.cocos2dx.net/?p=55

一、介绍

效果是一种特殊种类的行为。它不是修改常规的属性,比如透明度,位置,旋转或者变形,而是修改一种新的属性,网格属性。

网格属性就像是一个个交叉形成的一系列的矩形。

任何CCNode对象(LayerSceneSprite等等)都具有这种特殊的属性,你可以通过移动他们的顶点来变换这些网格。

有两种类型的网格:平铺的网格和非平铺的网格。他们两者的区别是平铺的网格由单个的网格组成,而非平铺的网格是由顶点组成。

如下是一个涟漪3D动作,就是用了Grid3D(非平铺网格):

如下是一个渐变动作,用了TiledGrid3D(平铺网格):

二、那么我们如何用他们呢?

和其他的动作一样,它也是用runAction函数来执行,比如:

// 创建一个精灵
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值