cocos2d-x 3.1.1 学习笔记[4]GridActions 网格动画

文章写的  http://blog.csdn.net/zhouyunxuan

老样子。见代码。

    //GridActions can only used on NodeGrid

    auto  nodeGrid = NodeGrid::create();
auto sp = Sprite::create("card_bg_big_26.jpg");
sp->setPosition(Vec2(320, 480));
sp->setAnchorPoint(Vec2(0.5, 0.5));
nodeGrid->addChild(sp);
this->addChild(nodeGrid); /**
* 创建一个3d晃动的特效
* Shaky3D::create(float duration, const cocos2d::Size &gridSize, int range, bool shakeZ)
* gridSize : 网格大小
* range : 晃动的范围
* shakeZ: 是否摇晃z轴
*/
auto e1 = Shaky3D::create(3, Size(15,10), 5, false); /**
* 创建一个3d瓷砖晃动的特效
* ShakyTiles3D::create(float duration, const cocos2d::Size &gridSize, int range, bool shakeZ)
* gridSize : 网格大小
* range : 晃动的范围
* shakeZ: 是否摇晃z轴
*/
auto e2 = ShakyTiles3D::create(3, Size(15, 10), 5, false); /**
* 创建一个3d波动的特效
* Waves3D::create(float duration, const cocos2d::Size &gridSize, unsigned int waves, float amplitude)
* gridSize : 网格大小
* waves : 晃动次数
* amplitude: 振幅
*/
auto e3 = Waves3D::create(3, Size(15, 10), 5, 5); /**
* 创建一个3d瓷砖波动的特效(效果不好,有时候会瓷砖变不回原来的图案。 )
* Waves3D::create(float duration, const cocos2d::Size &gridSize, unsigned int waves, float amplitude)
* gridSize : 网格大小
* waves : 波动速率
* amplitude: 振幅
*/
auto e4 = WavesTiles3D::create(3, Size(15, 10), 5, 5); /**
* 创建一个3d瓷砖波动的特效(效果不好。有时候会瓷砖变不回原来的图案。 )
* Waves::create(float duration, const cocos2d::Size &gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical)
* gridSize : 网格大小
* waves : 波动速率
* amplitude : 振幅
* horizontal : 是否水平晃动
* vertical :是否垂直晃动
*/
auto e5 = Waves::create(3, Size(15, 10), 5, 5, true, true); /**
* 创建一个x轴翻转精灵的动画
* FlipX3D::create(float duration)
*/
auto e6 = FlipX3D::create(3); /**
* 创建一个y轴翻转精灵的动画
* FlipY3D::create(float duration)
*/
auto e7 = FlipY3D::create(3); /**
* 凸镜特效
* Lens3D::create(float duration, const cocos2d::Size &gridSize, const cocos2d::Vec2 &position, float radius)
* gridSize : 网格大小
* position : 凸镜中心点
* radius : 半径
*/
auto e8 = Lens3D::create(3, Size(100, 100), Vec2(320, 480), 50); //鉴于有非常多反复的參数,就不再写了0 0
/**
* 水波特效
* Ripple3D::create(float duration, const cocos2d::Size &gridSize, const cocos2d::Vec2 &position, float radius, unsigned int waves, float amplitude)
*/
auto e9 = Ripple3D::create(3, Size(15, 10), Vec2(320, 480), 60, 5, 5); /**
* 液体特效
* Liquid::create(float duration, const cocos2d::Size &gridSize, unsigned int waves, float amplitude)
*/
auto e10 = Liquid::create(3, Size(15, 10), 5, 5); /**
* 扭曲旋转特效
* Twirl::create(float duration, const cocos2d::Size &gridSize, cocos2d::Vec2 position, unsigned int twirls, float amplitude)
*/
auto e11 = Twirl::create(3, Size(15, 10), Vec2(320, 480), 5, 5); /**
* 瓷砖洗牌特效
* ShuffleTiles::create(float duration, const cocos2d::Size &gridSize, unsigned int seed)
* seed : 随机数
*/
auto e12 =ShuffleTiles::create(3, Size(15, 10), 5); /**
* 瓷砖洗牌特效
* ShatteredTiles3D::create(float duration, const cocos2d::Size &gridSize, int range, bool shatterZ)
*/
auto e13 = ShatteredTiles3D::create(3, Size(15, 10), 5, true); /**
* 淡出效果。 从左下角到右上角
* FadeOutTRTiles::create(float duration, const cocos2d::Size &gridSize)
*/
auto e14 = FadeOutTRTiles::create(3, Size(15, 10)); /**
* 淡出效果 , 从右上角到左下角
* FadeOutBLTiles::create(float duration, const cocos2d::Size &gridSize)
*/
Rect spRect = sp->getBoundingBox();
float x = spRect.getMaxX() - spRect.getMinX();
float y = spRect.getMaxY() - spRect.getMinY();
auto e15 = FadeOutBLTiles::create(3, Size(x/8,y/8)); /**
* 折叠效果 从下到上
* FadeOutUpTiles::create(float duration, const cocos2d::Size &gridSize)
*/
auto e16 = FadeOutUpTiles::create(3, Size(x/3, y/3)); /**
* 折叠效果 从上到下
* FadeOutDownTiles::create(float duration, const cocos2d::Size &gridSize)
*/
auto e17 = FadeOutDownTiles::create(3, Size(15, 10)); /**
* 方块消失特效
* TurnOffTiles::create(float duration, const cocos2d::Size &gridSize)
*/
auto e18 = TurnOffTiles::create(3, Size(15, 10)); /**
* 跳动的方格特效
* JumpTiles3D::create(float duration, const cocos2d::Size &gridSize, unsigned int numberOfJumps, float amplitude)
* numberOfJumps : 跳动的次数
* amplitude : 频率
*/
auto e19 = JumpTiles3D::create(3, Size(15, 10), 3, 50); /**
* 分多行消失特效效
* SplitRows::create(float duration, unsigned int rows)
* rows : 行数
*/
auto e20 = SplitRows::create(3, 10); /**
* 分多列消失特效
* SplitCols::create(float duration, unsigned int cols)
* cols : 列数
*/
auto e21 = SplitCols::create(3, 10); /**
* 3D翻页特效
* PageTurn3D::create(float duration, const cocos2d::Size &gridSize)
*/
auto e22 = PageTurn3D::create(3, Size(15, 10)); nodeGrid->runAction(e22);

版权声明:本文博主原创文章,博客,未经同意不得转载。

上一篇:Windows中杀死占用某个端口的进程


下一篇:VS2008中MFC对话框界面编程Caption中文乱码的解决办法