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);



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

posted @ 2015-09-08 19:55  zfyouxi  阅读(479)  评论(0编辑  收藏  举报