1 粒子
示例
2 类图关系
3 系统原生粒子
CCParticleSystem |
所有粒子系统的父类 |
CCParticleSystemPoint、 CCParticleSystemQuad |
点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性 |
CCParticleExplosion |
爆炸粒子效果 |
CCParticleFireworks |
烟花粒子效果 |
CCParticleFire |
火焰粒子效果 |
CCParticleMetepr |
流行粒子效果 |
CCParticleSpiral |
漩涡粒子效果 |
CCParticleSnow |
雪粒子效果 |
CCParticleSmoke |
烟粒子效果 |
CCParticleSun |
太阳粒子效果 |
CCParticleRain |
雨粒子效果 |
4 代码
5 手动制作粒子系统
粒子编译器软件
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; class T21Particle :public TBack { public: static CCScene * scene(); CREATE_FUNC(T21Particle); bool init();
};
#endif |
T21Particle.cpp |
#include "T21Particle.h" #include "AppMacros.h"
CCScene * T21Particle::scene() { scene = CCScene::create(); T21Particle * layer = create(); scene->addChild(layer); return scene; }
bool init() { TBack::init();
//爆炸粒子效果 CCParticleExplosion * particle = CCParticleExplosion::create();
addChild(particle);
return true; } |
运行效果:
|
烟花效果 |
init();
//烟花效果 CCParticleFireworks * particle = CCParticleFireworks::create();
//设置位置显示位置 particle->setPosition(ccp(winSize.width / 2,winSize.height / 4)); //设置时间间隔 particle->setDuration(20); addChild(particle);
return true; } |
运行结果:
|
火焰效果: |
init();
//火焰效果 CCParticleFire * particle = CCParticleFire:: |
流星效果: |
init();
//流星粒子效果 CCParticleMeteor * particle = CCParticleMeteor:: 运行效果: |
漩涡粒子效果 |
init();
//流行粒子效果 CCParticleSpiral * particle = CCParticleSpiral:: 雪花效果: |
init();
//雪花效果 CCParticleSnow * particle = CCParticleSnow::winSize.height)); //设置时间间隔 particle-> 烟雾效果: |
init();
//烟雾效果 CCParticleSmoke * particle = CCParticleSmoke::winSize.height/3)); //设置时间间隔 particle-> 运行结果: |
太阳效果 |
init();
//太阳效果 CCParticleSun * particle = CCParticleSun:: 下雨效果 |
init();
//细雨效果 CCParticleRain * particle = CCParticleRain::create(); //particle->setRotation(90);
//设置位置显示位置 particle-> 运行结果: |
案例:
init();
CCParticleSystemQuad * particle = CCParticleSystemQuad::create("ring.plist");
//设置位置显示位置 particle->winSize.height / 2)); //设置时间间隔 particle-> 运行结果: |