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