声 明本教程仅用于初学cocos2dx同学使用,内容由本人(孤狼)学习过程中笔记编写,本教程使用cocos2dx版本为2.1.4。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。gl.paea.cn版权所有。
欢迎回到“和屌丝一起学cocos2dx”系列教程,上节我们说到了“基本动画制作优化篇”,不知道大家有没有做出来呢?这节我们继续学习一系列的方法,他们就是我们会经常用到的24种特效。好了,一起来学习吧。
【一】:他们是干嘛的
特效嘛,不就是特效嘛,听不懂?液体特效结果没,3D特效见过没,晃动特效见过没。这不都是特效嘛。
【二】:函数
CCShaky3D::create(时间,晃动网格大小,晃动范围,Z轴是否晃动);
//创建一个3D晃动的效果
CCShakyTiles3D::create(时间,晃动网格大小,晃动范围,Z轴是否晃动);
//创建一个3D瓷砖晃动的效果
CCShatteredTiles3D::create(时间,晃动网格大小,晃动范围,Z轴是否晃动);
//创建一个3D破碎瓷砖特效
CCWaves::create(时间,晃动网格大小,波动速度,振幅,是否水平波动,是否垂直波动);
//创建一个波动特效
CCWaves3D::create(时间,晃动网格大小,波动速度,振幅);
//创建一个3D波动效果
CCWavesTiles3D::create(时间,晃动网格大小,波动速度,振幅);
//创建一个3D瓷砖波动效果
CCFlipX3D::create(时间);
//创建一个X轴3D反转特效
CCFlipY3D::create(时间);
//创建一个Y轴3D反转特效
CCLens3D::create(时间,网格大小,圆心坐标,圆半径);
//创建凸透镜特效
CCRipple3D::create(时间,网格大小,坐标,半径,速度,振幅);
//创建一个3D水波特效
CCLiquid::create(时间,网格大小,速度,振幅);
//创建一个液体特效
CCTwirl::create(时间,网格大小,坐标,扭曲次数,振幅);
//创建一个扭曲特效
CCShuffleTiles::create(时间,网格大小,随机数);
//瓷砖洗牌特效
CCFadeOut::create(时间);
//慢慢消失
CCFadeOutBLTiles::create(时间,网格大小);
//从右上到左下部落格消失。
CCFadeOutTRTiles::create(时间,网格大小);
//从左下到右上部落格消失。
CCFadeOutDownTiles::create(时间,网格大小);
//从上到下折叠消失
CCFadeOutUpTiles::create(时间,网格大小);
//从下到上折叠消失
CCFadeIn::create(时间);
//慢慢出现
CCTurnOffTiles::create(时间,网格大小,随机数);
//方块消失
CCJumpTiles3D::create(时间,网格大小,次数,振幅);
//方格跳动
CCSplitRows::create(时间,行数);
//多行消失特效(水平)
CCSplitCols::create(时间,行数);
//多行消失特效(垂直)
CCPageTurn3D::create(时间,网格大小);
//3D翻页效果
【三】:示例
1.新建项目 Actiondemo2
Actiondemo2.h
nothing to do
Actiondemo2.cpp
//-new-//
CCSize mysize=CCDirector::sharedDirector()->getWinSize();
//新建一个精灵
CCSprite* sp = CCSprite::create("HelloWorld.png");
sp->setPosition(ccp(mysize.width/2,mysize.height/2));
this->addChild(sp);
////CCShaky3D特效
//CCActionInterval * c1=CCShaky3D::create(10,ccp(1,1),10,true);
//sp->runAction(c1);
////CCShakyTiles3D特效
//CCActionInterval * c2=CCShakyTiles3D::create(10,ccp(1,1),2,true);
//sp->runAction(c2);
////CCShatteredTiles3D特效
//CCActionInterval * c3=CCShatteredTiles3D::create(10,ccp(1,1),100,true);
//sp->runAction(c3);
////CCWaves特效
//CCActionInterval * c4=CCWaves::create(10,ccp(1,1),100,10,true,true);
//sp->runAction(c4);
////CCWaves3D特效
//CCActionInterval * c5=CCWaves3D::create(10,ccp(1,1),100,10);
//sp->runAction(c5);
////CCWavesTiles3D特效
//CCActionInterval * c6=CCWavesTiles3D::create(10,ccp(1,1),10,10);
//sp->runAction(c6);
////CCFlipX3D特效
//CCActionInterval * c7=CCFlipX3D::create(1);
//sp->runAction(c7);
////CCFlipY3D特效
//CCActionInterval * c8=CCFlipY3D::create(1);
//sp->runAction(c8);
////CCLens3D特效
//CCActionInterval * c9=CCLens3D::create(10,ccp(100,100),ccp(100,100),150);
//sp->runAction(c9);
////CCRipple3D特效
//CCActionInterval * c10=CCRipple3D::create(10,ccp(100,100),ccp(200,200),50,50,50);
//sp->runAction(c10);
////CCLiquid特效
//CCActionInterval * c11=CCLiquid::create(10,ccp(10,10),10,10);
//sp->runAction(c11);
////CCTwirl特效
//CCActionInterval * c12=CCTwirl::create(10,ccp(10,10),ccp(200,200),5,10);
//sp->runAction(c12);
////CCShuffleTiles特效
//CCActionInterval * c13=CCShuffleTiles::create(10,ccp(10,10),100);
//sp->runAction(c13);
////CCFadeOut特效
//CCActionInterval * c14=CCFadeOut::create(10);
//sp->runAction(c14);
////CCFadeOutBLTiles特效
//CCActionInterval * c15=CCFadeOutBLTiles::create(10,ccp(10,10));
//sp->runAction(c15);
////CCFadeOutTRTiles特效
//CCActionInterval * c16=CCFadeOutTRTiles::create(10,ccp(20,20));
//sp->runAction(c16);
////CCFadeOutDownTiles特效
//CCActionInterval * c17=CCFadeOutDownTiles::create(10,ccp(20,20));
//sp->runAction(c17);
////CCFadeOutUpTiles特效
//CCActionInterval * c18=CCFadeOutUpTiles::create(10,ccp(20,20));
//sp->runAction(c18);
////CCFadeIn特效
//CCActionInterval * c19=CCFadeIn::create(3);
//sp->runAction(c19);
////CCTurnOffTiles特效
//CCActionInterval * c20=CCTurnOffTiles::create(10,ccp(20,20),100);
//sp->runAction(c20);
////CCJumpTiles3D特效
//CCActionInterval * c21=CCJumpTiles3D::create(10,ccp(5,5),5,10);
//sp->runAction(c21);
////CCSplitRows特效
//CCActionInterval * c22=CCSplitRows::create(10,10);
//sp->runAction(c22);
////CCSplitCols特效
//CCActionInterval * c23=CCSplitCols::create(10,10);
//sp->runAction(c23);
//CCPageTurn3D特效
CCActionInterval * c24=CCPageTurn3D::create(10,ccp(20,20));
sp->runAction(c24);
//-new-//
好了最后我们来欣赏一下效果吧。