首页 > 代码库 > 6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果

6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果



1粒子

示例

2类图关系

3系统原生粒子

CCParticleSystem

所有粒子系统的父类

CCParticleSystemPoint

CCParticleSystemQuad

点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性

CCParticleExplosion

爆炸粒子效果

CCParticleFireworks

烟花粒子效果

CCParticleFire

火焰粒子效果

CCParticleMetepr

流行粒子效果

CCParticleSpiral

漩涡粒子效果

CCParticleSnow

雪粒子效果

CCParticleSmoke

烟粒子效果

CCParticleSun

太阳粒子效果

CCParticleRain

雨粒子效果

4代码

//CCParticleExplosion * particle = CCParticleExplosion::create();

//CCParticleFireworks * particle = CCParticleFireworks::create();

//CCParticleFire * particle = CCParticleFire::create();

//CCParticleMeteor * particle = CCParticleMeteor::create();

//CCParticleSpiral * particle = CCParticleSpiral::create();

//CCParticleSnow * particle = CCParticleSnow::create();

//CCParticleSmoke * particle = CCParticleSmoke::create();

//CCParticleSun * particle = CCParticleSun::create();

CCParticleRain * particle = CCParticleRain::create();

 

particle->setPosition(ccp(240, 160));

addChild(particle);

5手动制作粒子系统

粒子编译器软件

编辑好后生成xx.plist文件

CCParticleSystemQuad * particle = CCParticleSystemQuad::create("ring.plist");

particle->setPosition(ccp(240, 160));

addChild(particle);

particle->setDuration(4);

6案例

爆炸粒子效果

T21Particle.h

#ifndef__T12Particle_H__

#define__T12Particle_H__

#include"cocos2d.h"

#include"TBack.h"

USING_NS_CC;

classT21Particle :publicTBack

{

public:

   staticCCScene *scene();

   CREATE_FUNC(T21Particle);

   boolinit();

 

};

 

#endif

T21Particle.cpp

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //爆炸粒子效果

   CCParticleExplosion *particle =CCParticleExplosion::create();

   

   addChild(particle);

   

   returntrue;

}

运行效果:

烟花效果

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //烟花效果

   CCParticleFireworks *particle =CCParticleFireworks::create();

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行结果:

火焰效果:

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //火焰效果

   CCParticleFire *particle =CCParticleFire::create();

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

流星效果:

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //流星粒子效果

   CCParticleMeteor *particle =CCParticleMeteor::create();

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行效果:

漩涡粒子效果

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //流行粒子效果

   CCParticleSpiral *particle =CCParticleSpiral::create();

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行效果:

雪花效果:

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //雪花效果

   CCParticleSnow *particle =CCParticleSnow::create();

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行效果:

烟雾效果:

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //烟雾效果

   CCParticleSmoke *particle =CCParticleSmoke::create();

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height/3));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行结果:

太阳效果

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //太阳效果

   CCParticleSun *particle =CCParticleSun::create();

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height/3));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行效果:

下雨效果

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   //细雨效果

   CCParticleRain *particle =CCParticleRain::create();

   //particle->setRotation(90);

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行结果:

7通过自定义的.plist文件作出粒子效果

案例:

环形效果

#include"T21Particle.h"

#include"AppMacros.h"

 

CCScene *T21Particle::scene()

{

   CCScene *scene =CCScene::create();

   T21Particle *layer =T21Particle::create();

   scene->addChild(layer);

   returnscene;

}

 

boolT21Particle::init()

{

   TBack::init();

   

   CCParticleSystemQuad *particle =CCParticleSystemQuad::create("ring.plist");

   

   //设置位置显示位置

   particle->setPosition(ccp(winSize.width / 2,winSize.height / 2));

   //设置时间间隔

   particle->setDuration(20);

   addChild(particle);

   

   returntrue;

}

运行结果:

 

6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果