Cocos2d-x 特效
更新:HHH   时间:2023-1-7


Cocos2d-x  特效


特效共有22种。


boolHelloWorld::init()函数中添加如下代码:

if ( !CCLayer::init() )
   {
       return false;
   }
   CCSize size = CCDirector::sharedDirector()->getWinSize();
   CCSprite* sp = CCSprite::create("Icon.png");
   sp->setPosition(ccp(size.width * 0.5, size.height * 0.5));
   sp->setRotation(90);
   addChild(sp);
                          
                          
   //第一个参数是扭曲范围,第二个参数是是否扭曲z轴,分格的大小,第四个参数是间隔时间
   CCActionInterval* shaky3D = CCShaky3D::create(5, true, ccg(15, 10), 3);
   sp->runAction(shaky3D);




这是22中特效的实现方法:

case 1:
        {
            //----------CCShaky3D
            CCActionInterval *shaky3D=CCShaky3D::create(15, false, ccg(15, 10), 4);
            sp->runAction(shaky3D);
        }
            break;
        case 2:
        {
            //--------CCShakyTiles3D
            CCActionInterval *shakyTiles3D=CCShakyTiles3D::create(15, true, ccg(15, 10), 4);
            sp->runAction(shakyTiles3D);
        }
            break;
        case 3:
        {
            //--------CCWaves
            CCActionInterval *waves=CCWaves::create(10, 20, true,true,ccg(16, 12),4);
            sp->runAction(waves);
        }
            break;
        case 4:
        {
            //--------CCWaves3D
            CCActionInterval *waves3D=CCWaves3D::create(10, 20, ccg(16, 12),3);
            sp->runAction(waves3D);
        }
            break;
        case 5:
        {
            //------CCWavesTiles3D
            CCActionInterval *wavesTiles3D=CCWavesTiles3D::create(10, 20, ccg(16, 12),3);
            sp->runAction(wavesTiles3D);
        }
            break;
        case 6:
        {
            //------CCFlipX3D
            CCActionInterval *flipX3D=CCFlipX3D::create(3);
            sp->runAction(flipX3D);
        }
            break;
        case 7:
        {
            //------CCFlipY3D
            CCActionInterval *flipY3D=CCFlipY3D::create(3);
            sp->runAction(flipY3D);
        }
            break;
        case 8:
        {
            //--------CCLens3D
            CCActionInterval *lens3D=CCLens3D::create(CCPointMake(size.width/2, size.height/2), 240, ccg(15, 10), 2);
            sp->runAction(lens3D);
        }
            break;
        case 9:
        {
            //---------CCRipple3D
            CCActionInterval *ripple3D=CCRipple3D::create(CCPointMake(size.width/2, size.height/2), 240, 4,160,ccg(32,24), 3);
            sp->runAction(ripple3D);
        }
            break;
        case 10:
        {
            //--------CCLiquid
            CCActionInterval *liquid=CCLiquid::create(4, 20, ccg(16, 12), 4);
            sp->runAction(liquid);
        }
            break;
        case 11:
        {
            //--------CCTwirl
            CCActionInterval *twirl=CCTwirl::create(CCPointMake(size.width/2, size.height/2),2,2.5f,ccg(12, 8),3);
            sp->runAction(twirl);
        }
            break;
        case 12:
        {
            //-------CCShuffleTiles
            CCActionInterval *shuffleTiles=CCShuffleTiles::create(16,ccg(16, 12),2);
            sp->runAction(shuffleTiles);
        }
            break;
        case 13:
        {
            //-------CCShatteredTiles3D
            CCActionInterval *shuffleTiles3D=CCShatteredTiles3D::create(25,true,ccg(16, 12),3);
            sp->runAction(shuffleTiles3D);
        }
            break;
        case 14:
        {
            //-------CCFadeOutTRTiles
            CCActionInterval *fadeOutTRTiles=CCFadeOutTRTiles::create(ccg(16, 12),2);
            sp->runAction(fadeOutTRTiles);
        }
            break;
        case 15:
        {
            //-------CCFadeOutBLTiles
            CCActionInterval *fadeOutBLTiles=CCFadeOutBLTiles::create(ccg(16, 12),2);
            sp->runAction(fadeOutBLTiles);
        }
            break;
        case 16:
        {
            //-------CCFadeOutUpTiles
            CCActionInterval *fadeOutUpTiles=CCFadeOutUpTiles::create(ccg(16, 12),2);
            sp->runAction(fadeOutUpTiles);
        }
            break;
        case 17:
        {
            //-------CCFadeOutDownTiles
            CCActionInterval *fadeOutDownTiles=CCFadeOutDownTiles::create(ccg(16, 12),2);
            sp->runAction(fadeOutDownTiles);
        }
            break;
        case 18:
        {
            //-----CCTurnOffTiles
            CCActionInterval *turnOffTiles=CCTurnOffTiles::create(ccg(48, 32),2);
            sp->runAction(turnOffTiles);
        }
            break;
        case 19:
        {
            //-----CCJumpTiles3D
            CCActionInterval *jumpTiles3D=CCJumpTiles3D::create(1,30,ccg(15, 10),2);
            sp->runAction(jumpTiles3D);
        }
            break;
        case 20:
        {
            //------CCSplitRows
            CCActionInterval *splitRows=CCSplitRows::create(10,2);
            sp->runAction(splitRows);
        }
            break;
        case 21:
        {
            //------CCSplitCols
            CCActionInterval *splitCols=CCSplitCols::create(13,3);
            sp->runAction(splitCols);
        }
            break;
        case 22:
        {
            //------CCPageTurn3D
            CCActionInterval *pageTurn3D=CCPageTurn3D::create(ccg(15, 10), 3);
            sp->runAction(pageTurn3D);
        }



代码例子下载: http://pan.baidu.com/share/link?shareid=677259134&uk=3189484501



返回游戏开发教程...