1
类图组织
2
实例
CCSprite * spr = CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width/2,winSize.height/2)); addChild(spr); //GridAction //CCFlipX3D * action = CCFlipX3D::create(2); //CCFlipY3D * action = CCFlipY3D::create(2); //CCLens3D * action = CCLens3D::create(2, CCSize(20,20),ccp(240,160),100); //CCLiquid * action = CCLiquid::create(4, CCSize(20, 20), 20, 35); //CCPageTurn3D * action = CCPageTurn3D::create(2, CCSize(20,20)); //CCRipple3D * action = CCRipple3D::create(2, CCSize(20,20),ccp(240,160),40,20,30); //CCShaky3D * action = CCShaky3D::create(2, CCSize(20,20),20,false); //CCTwirl * action = CCTwirl::create(2, CCSize(20,20),ccp(240,160),3,30); //CCWaves * action = CCWaves::create(2, CCSize(20,20),30,30,false,true); //CCWaves3D * action = CCWaves3D::create(2, CCSize(20,20),30,30); |
3
Y轴
3D反转特效(CCFlipX3D)
CCActionInterval* filpX = CCFlipX3D::create(5); sp->runAction(filpX); //作用:Y轴3D反转特效 //參数:特效持续的时间 |
案例: |
T18Grid3D.h |
#ifndef #define #include #include USING_NS_CC; class { public: static CREATE_FUNC(T18Grid3D); bool }; #endif |
T18Grid3D.cpp |
#include #include CCScene *T18Grid3D::scene() { CCScene * T18Grid3D * scene->addChild(layer); return } bool { TBack::init(); //Grid3D CCSprite * spr->setPosition(ccp(winSize.width addChild(spr); //x轴 CCActionInterval* spr->runAction(filpX); return } |
执行效果: |
Y轴3D发转特效 CCActionInterval* filpY = CCFlipY3D::create(5); spr->runAction(filpY); |
#include #include CCScene *T18Grid3D::scene() { CCScene * T18Grid3D * scene->addChild(layer); return } bool { TBack::init(); //Grid3D CCSprite * spr->setPosition(ccp(winSize.width addChild(spr); //x轴 CCActionInterval * spr->runAction(filpY); return } |
执行效果: |
凸透镜特效 |
CCLen3D * CCLen3D::create(float duration,const CCSize & gridSize,const CCPoint& position,float radius); (CCPointMake表示的是创建一个点) CCActionInterval* lens = CCLens3D::create(2, CCSize(10, 10),CCPointMake(240, 160), 240); spr->runAction(lens); 作用:凸镜特效 參数:网格持续的时间 參数:网格大小 參数:凸透镜中心点 參数:凸镜半径 |
#include #include CCScene *T18Grid3D::scene() { CCScene * T18Grid3D * scene->addChild(layer); return } bool { TBack::init(); //Grid3D CCSprite * spr->setPosition(ccp(winSize.width addChild(spr); //凸透镜特效 CCLens3D * ccp(240,160),100); spr->runAction(action); return } |
执行结果: |
CCLiquid* CCLiquid::create(float duration, const CCSize& gridSize, unsigned int waves, float amplitude); spr->runAction(liquid); 作用:液体特效 參数:特效持续时间 參数:网格大小 參数:wave个数 參数:振幅 |
#include #include CCScene *T18Grid3D::scene() { CCScene * T18Grid3D * scene->addChild(layer); return } bool { TBack::init(); //Grid3D CCSprite * spr->setPosition(ccp(winSize.width addChild(spr); //液体震荡特效 CCLiquid *action spr->runAction(action); return } |
执行结果(出现液体的震荡效果): |
3D CCPageTurn3D* CCPageTurn3D::create(float duration, const CCSize& gridSize); CCActionInterval * pageTurn3D = CCPageTurn3D::create(4,CCSize(20,20)); spr->runAction(pageTurn3D); //作用:3D翻页特效 //參数:特效持续的时间 //參数:网格大小 |
#include #include CCScene *T18Grid3D::scene() { CCScene * T18Grid3D * scene->addChild(layer); return } bool { TBack::init(); //Grid3D CCSprite * spr->setPosition(ccp(winSize.width addChild(spr); //3D CCPageTurn3D * spr->runAction(action); return } |
水波纹特效 CCRipple3D* CCRipple3D::create( float duration, const CCSize& gridSize, const CCPoint& position, float radius, unsigned int waves, float amplitude); 作用:水波特效 參数:特效持续的时间 參数:网格大小 參数:起始位置 參数:半径 參数:速率 參数:振幅 |
#include #include CCScene *T18Grid3D::scene() { CCScene * T18Grid3D * scene->addChild(layer); return } bool { TBack::init(); //Grid3D CCSprite * spr->setPosition(ccp(winSize.width addChild(spr); //水波纹特效 CCActionInterval * 10, //特效持续的时间 CCSize(10, 10), CCPointMake(240, 210), 40, //半径 6, //速率 160); //振幅 spr->runAction(action); return } |
3D CCShaky3D *CCShaky3D::create(float duration,const CCSize& gridSize,int range,bool shakeZ); CCActionInterval* shaky3D = CCShaky3D::create(5, CCSize |