首页 > 代码库 > 2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效
2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效
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__T18Grid3D_H__ #define__T18Grid3D_H__
#include"cocos2d.h" #include"TBack.h" USING_NS_CC; classT18Grid3D :publicTBack { public: staticCCScene *scene(); CREATE_FUNC(T18Grid3D); boolinit(); };
#endif |
T18Grid3D.cpp |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
//x轴 3D反转特效 CCActionInterval*filpX =CCFlipX3D::create(5); spr->runAction(filpX);
returntrue; } |
运行效果: |
Y轴3D发转特效 CCActionInterval* filpY = CCFlipY3D::create(5); spr->runAction(filpY); |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
//x轴 3D反转特效 CCActionInterval *filpY =CCFlipY3D::create(5); spr->runAction(filpY);
returntrue; } |
运行效果: |
凸透镜特效 |
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"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
//凸透镜特效 CCLens3D *action =CCLens3D::create(20,CCSize(20,20), ccp(240,160),100); spr->runAction(action);
returntrue; } |
运行结果: |
CCLiquid* CCLiquid::create(float duration, const CCSize& gridSize, unsigned int waves, float amplitude); spr->runAction(liquid); 作用:液体特效 参数:特效持续时间 参数:网格大小 参数:wave个数 参数:振幅 |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
//液体震荡特效 CCLiquid *action = CCLiquid::create(8,CCSize(4,4),10,3); spr->runAction(action);
returntrue; } |
运行结果(出现液体的震荡效果): |
3D翻页特效 CCPageTurn3D* CCPageTurn3D::create(float duration, const CCSize& gridSize); CCActionInterval * pageTurn3D = CCPageTurn3D::create(4,CCSize(20,20)); spr->runAction(pageTurn3D); //作用:3D翻页特效 //参数:特效持续的时间 //参数:网格大小 |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
//3D翻页特效 CCPageTurn3D *action =CCPageTurn3D::create(20,CCSize(20, 20)); spr->runAction(action);
returntrue; } |
水波纹特效 CCRipple3D* CCRipple3D::create( float duration, const CCSize& gridSize, const CCPoint& position, float radius, unsigned int waves, float amplitude); 作用:水波特效 参数:特效持续的时间 参数:网格大小 参数:起始位置 参数:半径 参数:速率 参数:振幅 |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
//水波纹特效 CCActionInterval *action =CCRipple3D::create( 10, //特效持续的时间 CCSize(10, 10), //网格大小 CCPointMake(240, 210), //起始位置 40, //半径 6, //速率 160); //振幅 spr->runAction(action);
returntrue; } |
3D晃动特效 CCShaky3D *CCShaky3D::create(float duration,const CCSize& gridSize,int range,bool shakeZ); CCActionInterval* shaky3D = CCShaky3D::create(5, CCSize(10, 10), 15, false); sp->runAction(shaky3D); 作用:创建一个3d晃动的特效 参数:特效持续的时间 参数:网格大小 参数:晃动的范围 参数:是否有Z轴晃动 |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
CCShaky3D *action =CCShaky3D::create( 20, //特效持续的时间 CCSize(70, 70), //网格大小 60, //晃动的范围 true); //是否有z轴晃动
spr->runAction(action);
returntrue; } |
扭曲旋转特效 CCTwirl* CCTwirl::create(float duration, const CCSize& gridSize, CCPoint position, unsigned int twirls, float amplitude); CCActionInterval* twirl = CCTwirl::create(50, CCSize(10, 10), CCPointMake(240, 160), 2, 2.5); sp->runAction(twirl); //作用:扭曲旋转特效 //参数:特效持续时间 //参数:网格大小 //参数:扭曲旋转中心点 //参数:扭曲旋转的次数 //参数:振幅 |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
CCActionInterval*action =CCTwirl::create( 50, //特效持续时间 CCSize(10, 10), //网格大小 CCPointMake(240, 160),//扭曲旋转中心点 2, //扭曲旋转的次数 2.5); //振幅
spr->runAction(action);
returntrue; } |
波动特效 CCWaves* CCWaves::create( float duration, const CCSize& gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical); 作用:创建一个波动特效 参数:特效持续时间 参数:网格大小 参数:波动的速率 参数:振幅 参数:水平波动 参数:垂直波动 |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
//创建一个波动特效 CCWaves *action =CCWaves::create( 20, //特效持续时间 CCSize(20, 20), //网格大小 30, //波动的速率 30, //振幅 false, //水平波动 true); //垂直波动
spr->runAction(action);
returntrue; } |
运行结果: |
3D波动特效(创建一个3D波动特效) CCWaves3D* CCWaves3D::create( float duration, const CCSize& gridSize, unsigned int waves, float amplitude); 参数:特效持续时间 参数:网格大小 参数:波动的速率 参数:振幅 |
#include"T18Grid3D.h" #include"AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene *scene =CCScene::create(); T18Grid3D *layer =T18Grid3D::create(); scene->addChild(layer); returnscene; }
boolT18Grid3D::init() { TBack::init();
//Grid3D CCSprite *spr =CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(spr);
CCWaves3D *action =CCWaves3D::create( 20, CCSize(20,20), 30, 30);
spr->runAction(action);
returntrue; } |
运行结果: |
2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效