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

代码例子下载: