1
粒子
示範樣例
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwkzX39GZhh2csATMflHLwEzX4xSZz91ZsADMx8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnVGcq5CZlZjZ1E2NwUWN3E2NkdTZ0MTMxATZyUWNwYDNzUGNi9CXzAzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.jpeg)
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->setDuration(4);
6
案例
T21Particle.h
#ifndef
__T12Particle_H__
#define
#include
"cocos2d.h"
"TBack.h"
USING_NS_CC;
class
T21Particle :public
TBack
{
public:
static
CCScene *
scene();
CREATE_FUNC(T21Particle);
bool
init();
};
#endif
T21Particle.cpp
"T21Particle.h"
"AppMacros.h"
T21Particle::scene()
scene =
CCScene::create();
T21Particle *
layer =
T21Particle::create();
scene->addChild(layer);
return
scene;
}
T21Particle::init()
TBack::init();
//爆炸粒子效果
CCParticleExplosion *
particle =
CCParticleExplosion::create();
true;
執行效果:
煙花效果
//煙花效果
CCParticleFireworks *
CCParticleFireworks::create();
//設定位置顯示位置
particle->setPosition(ccp(winSize.width
/ 2,winSize.height
/ 4));
//設定時間間隔
particle->setDuration(20);
執行結果:
火焰效果:
//火焰效果
CCParticleFire *
CCParticleFire::create();
流星效果:
//流星粒子效果
CCParticleMeteor *
CCParticleMeteor::create();
//流行粒子效果
CCParticleSpiral *
CCParticleSpiral::create();
雪花效果:
//雪花效果
CCParticleSnow *
CCParticleSnow::create();
/ 2,winSize.height));
煙霧效果:
//煙霧效果
CCParticleSmoke *
CCParticleSmoke::create();
/ 2,winSize.height/3));
太陽效果
//太陽效果
CCParticleSun *
CCParticleSun::create();
下雨效果
//細雨效果
CCParticleRain *
CCParticleRain::create();
//particle->setRotation(90);
7
通過自己定義的.plist檔案作出粒子效果
案例:
環形效果
CCParticleSystemQuad *
CCParticleSystemQuad::create("ring.plist");
/ 2));