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