2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

时间:2023-12-14 15:19:20


1
类图组织

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

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;

}

执行效果:

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

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;

}

执行效果:

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

凸透镜特效

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;

}

执行结果:

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

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;

}

执行结果(出现液体的震荡效果):

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

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;

}

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

水波纹特效

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;

}

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

3D
晃动特效

CCShaky3D *CCShaky3D::create(float duration,const CCSize& gridSize,int range,bool shakeZ);

CCActionInterval* shaky3D = CCShaky3D::create(5, CCSize