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; class T18Grid3D :public TBack { public: static CCScene * scene(); CREATE_FUNC(T18Grid3D); bool init(); };
#endif |
T18Grid3D.cpp |
#include "T18Grid3D.h" #include "AppMacros.h"
CCScene *T18Grid3D::scene() { CCScene * scene = CCScene::create(); T18Grid3D * layer = T18Grid3D::create(); scene->addChild(layer); return scene; }
bool T18Grid3D::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);
return true; } |
执行效果:
|
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); return scene; }
bool T18Grid3D::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);
return true; } |
执行效果:
|
凸透镜特效 |
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); return scene; }
bool T18Grid3D::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);
return true; } |
执行结果:
|
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); return scene; }
bool T18Grid3D::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);
return true; } |
执行结果(出现液体的震荡效果):
|
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); return scene; }
bool T18Grid3D::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);
return true; } |
|
水波纹特效 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); return scene; }
bool T18Grid3D::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);
return true; } |
|
3D 晃动特效 CCShaky3D *CCShaky3D::create(float duration,const CCSize& gridSize,int range,bool shakeZ); CCActionInterval* shaky3D = CCShaky3D::create(5, CCSize
|