zoukankan      html  css  js  c++  java
  • cocos2d-x 动画特效集合

    转自:http://www.cnblogs.com/linux-ios/archive/2013/04/09/3009292.html

    备用

    bool HelloWorld::init()
    {
        //////////////////////////////
        // 1. super init first
        if ( !CCLayer::init() )
        {
            return false;
        }
        CCSize size =CCDirector::sharedDirector()->getWinSize();//获取屏幕大小  
        
        CCSprite * sp = CCSprite::create("Icon.png");
        sp->setPosition(ccp(200, 200));
        
        addChild(sp);
        
    //    常见的22种特效
    //    CCShaky3D
    //作用:创建一个3d晃动的特效
    //    参数1:晃动的范围
    //    参数2:是否有z轴晃动
    //    参数3:  网格大小
    //    参数4:特效持续的时间
    //    CCActionInterval * shaky3D= CCShaky3D::create(15, false, ccg(15, 10), 4);
    //    sp->runAction(shaky3D);
        
    //    CCShakyTiles3D
    //    作用:创建一个3d瓷砖晃动的特效
        //    参数1:晃动的范围
        //    参数2:是否有z轴晃动
        //    参数3:  网格大小
        //    参数4:特效持续的时间
    //    CCActionInterval * shakyTiles3D = CCShakyTiles3D::create(15, true, ccg(15, 10), 4);
    //    sp->runAction(shakyTiles3D);
        
    //    CCWaves
    //    创建一个波动特效
    //    参数1:波动的速率
    //    参数2:振幅
    //    参数3:水平波动
    //    参数4:垂直波动
    //    参数5:网格大小
    //    参数6:特效持续时间
    //    CCActionInterval * waves = CCWaves::create(10, 20, true, true, ccg(16, 12), 4);
    //    sp->runAction(waves);
        
    //    CCWaves3D
        //    创建一个3D波动特效
        //    参数1:波动的速率
        //    参数2:振幅
        //    参数3:网格大小
        //    参数4:特效持续时间
    //    CCActionInterval * waves3d= CCWaves3D::create(10, 20, ccg(16, 12), 4);
    //    sp->runAction(waves3d);
        
    //    CCWavesTiles3D
        //    创建一个3D瓷砖波动特效
        //    参数1:波动的速率
        //    参数2:振幅
        //    参数3:网格大小
        //    参数4:特效持续时间
    //    CCActionInterval * wavesTiles3D = CCWavesTiles3D::create(10, 20, ccg(16, 12), 4);
    //    sp->runAction(wavesTiles3D);
        
    //    CCFlipX3D
    //    作用:x轴3D反转特效
    //    参数:特效持续的时间
    //    CCActionInterval *flipX3D= CCFlipX3D::create(4);
    //    sp->runAction(flipX3D);
        
    //    CCFlipY3D
        //    作用:Y轴3D反转特效
        //    参数:特效持续的时间
    //    CCActionInterval * flipY3D = CCFlipY3D::create(4);
    //    sp->runAction(flipY3D);
        
    //    CCLens3D
    //    作用:  凸镜特效
    //    参数1:凸镜中心点
    //    参数2:凸镜半径
    //    参数3:网格大小
    //    参数4:网格持续时间
    //    CCActionInterval * lens3D= CCLens3D::create(CCPointMake(size.width/2, size.height/2), 240, ccg(15, 10), 4);
    //    sp->runAction(lens3D);
    
    //    CCRipple3D
    //    作用:水波特效
    //    参数1:起始位子
    //    参数2:半径
    //    参数3:速率
    //    参数4:振幅
    //    参数5:网格大小
    //    参数6:特效持续的时间
    //    CCActionInterval * ripple3D= CCRipple3D::create(CCPointMake(size.width/2, size.height/2), 240, 4, 160, ccg(15,10), 4);
    //    sp->runAction(ripple3D);
        
    //    CCLiquid
    //    作用:液体特效
    //    参数1:速率
    //    参数2:振幅
    //    参数3:网格大小
    //    参数4:特效持续时间
    //    CCActionInterval * liquid = CCLiquid::create(4, 20, ccg(16, 12), 4);
    //    sp->runAction(liquid);
        
    //    CCTwirl
    //    作用:扭曲旋转特效
    //    参数1:扭曲旋转中心点
    //    参数2:扭曲旋转的次数
    //    参数3:振幅
    //    参数4:网格大小
    //    参数5:特效持续时间
    //    CCActionInterval  * twirl = CCTwirl::create(CCPointMake(size.width/2, size.height/2), 2, 2.5f, ccg(12, 8), 3);
    //    sp->runAction(twirl);
        
    //    CCShuffleTiles
    //    作用:瓷砖的洗牌特效
    //    参数1:随机数
    //    参数2:网格大小
    //    参数3:特效持续的时间
    //    CCActionInterval *shuffleTiles = CCShuffleTiles::create(16, ccg(16, 12), 2);
    //    sp->runAction(shuffleTiles);
        
    //    CCShatteredTiles3D
    //    作用:破碎的3D瓷砖特效
    //    参数1:范围
    //    参数2:是否开启z轴
    //    参数3:网格大小
    //    参数4:特效持续的时间
    //    CCActionInterval * shatteredTiles3D= CCShatteredTiles3D::create(25, true, ccg(16, 12), 4);
    //    sp->runAction(shatteredTiles3D);
    
    //    CCFadeOutTRTiles
    //    作用:部落格效果 , 从左下角到右下角
    //    参数1:网格大小
    //    参数2:特效持续的时间
    //    CCActionInterval * fadeOutTRTiles = CCFadeOutTRTiles::create(ccg(16, 12), 3);
    //    sp->runAction(fadeOutTRTiles);
    
    //    CCFadeOutBLTiles
        //    作用:部落格效果 , 从右下角到左下角
        //    参数1:网格大小
        //    参数2:特效持续的时间
    //    CCActionInterval * fadeOutBLTiles = CCFadeOutBLTiles::create(ccg(16, 12), 3);
    //    sp->runAction(fadeOutBLTiles);
    
    //    CCFadeOutUpTiles
    //    作用:折叠效果 从下到上
        //    参数1:网格大小
        //    参数2:特效持续的时间
    //    CCActionInterval * fadeOutUpTiles = CCFadeOutUpTiles::create(ccg(16, 12), 3);
    //    sp->runAction(fadeOutUpTiles);
        
    //    CCFadeOutDownTiles
        //    作用:折叠效果 从上到下
        //    参数1:网格大小
        //    参数2:特效持续的时间
    //    CCActionInterval * fadeOutDownTiles = CCFadeOutDownTiles::create(ccg(16, 12), 3);
    //    sp->runAction(fadeOutDownTiles);
      
    //    CCTurnOffTiles
    //    作用:方块消失特效
        //    参数1:网格大小
        //    参数2:特效持续的时间
    //    CCActionInterval * turnOffTiles = CCTurnOffTiles::create(ccg(16, 12), 3);
    //    sp->runAction(turnOffTiles);
    
    //    CCJumpTiles3D
    //    作用:跳动的方格特效
    //    参数1:跳动的次数
    //    参数2:网格的大小
    //    参数3:特效持续的时间
    //    CCActionInterval * jumpTiles3D = CCJumpTiles3D::create(1, 30, ccg(15, 10), 2);
    //    sp->runAction(jumpTiles3D);
        
    //    CCSplitRows
    //    作用:分多行消失特效
    //    参数1:行数
    //    参数2:特效持续的时间
    //    CCActionInterval *splitRows= CCSplitRows::create(20, 2);
    //    sp->runAction(splitRows);
    
    //    CCSplitCols
        //    作用:分多列消失特效
        //    参数1:列数
        //    参数2:特效持续的时间
    //    CCActionInterval * splitCols = CCSplitCols::create(20, 2);
    //    sp->runAction(splitCols);
        
    //    CCPageTurn3D
    //    作用:3D翻页特效
    //    参数1:网格大小
    //    参数2:特效持续的时间
        CCActionInterval * pageTurn3D = CCPageTurn3D::create(ccg(15, 10), 3);
        sp->runAction(pageTurn3D);
        
        
        
        return true;
    }
    //这个是光晕效果的参数 
    CCSpriteBatchNode *m_Batchnode=CCSpriteBatchNode::create("bullet.png");ccBlendFunc cb={GL_SRC_ALPHA,GL_ONE};  
    //将光晕效果加入
    m_Batchnode->setBlendFunc(cb); 
    //最后实例化一个 
    CCSpriteBatchNode里this->addChild(m_Batchnode);  
    //缓存中取出W1.png图片,这个图片是在plist文件中所在的<key>标签里面的 
    CCSpriteCCSprite *bullet=CCSprite::createWithSpriteFrameName("W1.png");  
    //记得不是用this->addChild而是用m_Batchnode->addChild(bullet);  
    //这样就能有光晕效果啦 主要是理解CCSpriteBatchNode 
    bullet->setPosition(ccp(x,y));
    m_Batchnode->addChild(bullet); 

    转自:http://blog.csdn.net/coodi8/article/details/7864520

    //1. 不断旋转
    CCRotateBy* rotate = CCRotateBy::actionWithDuration(1, 360);
    CCRepeatForever* repeatRotate = CCRepeatForever::actionWithAction(rotate);
    
    //2. 上升消失
    CCMoveBy* move = CCMoveBy::actionWithDuration(2, ccp(0,200));
    CCFadeOut* fadeOut = CCFadeOut::actionWithDuration(2);
    CCFiniteTimeAction* fadeOutAct = CCSpawn::actions(move,fadeOut,NULL);
    
    //3.贝赛而曲线
    ccBezierConfig bezier;
    bezier.controlPoint_1 = ccp(100,200);
    bezier.controlPoint_2 = ccp(200, -100);
    bezier.endPosition = ccp(400, 100);
    CCBezierBy* bezierBy = CCBezierBy::actionWithDuration(5.0, bezier);
    
    //4. 变色
    CCTintTo* tint1 = CCTintTo::actionWithDuration(1.5, 255, 0, 0);
    CCTintTo* tint2 = CCTintTo::actionWithDuration(1.5, 0, 255, 255);
    CCTintTo* tint3 = CCTintTo::actionWithDuration(1.5, 0, 255, 0);
    CCFiniteTimeAction* tintActions = CCSequence::actions(tint1,tint2,tint3,NULL);
    CCRepeatForever* repeatTint = CCRepeatForever::actionWithAction((CCActionInterval*)tintActions);
    
    //5.闪烁
    CCBlink* blink = CCBlink::actionWithDuration(5, 25);
    
    //6.动作(动画)结束后,调用某函数
    CCFadeOut* fadeOut = CCFadeOut::actionWithDuration(0.8);
    CCCallFunc* endCall = CCCallFunc::actionWithTarget(starSprite, callfunc_selector(FlashingMeteors::removeFromParentAndCleanup));
    CCFiniteTimeAction* acts = CCSequence::actions(fadeOut,endCall, NULL);
    starSprite->runAction(acts);
  • 相关阅读:
    Linux常用命令
    安装最新版的wampserver,可以兼容php5和php7
    PHP程序员的技术成长规划
    ztreeSearch
    xmlUtil 解析 创建
    EXCEL 读取
    线程池 Future 带返回结果
    cxf 创建动态webService
    Map 和 javaBean转换
    线程池 http请求
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/3165189.html
Copyright © 2011-2022 走看看