[AndEngine学习教程] ParticleSystem 粒子系统(一)

2014-11-24 09:21:00 · 作者: · 浏览: 2

1.本节要点
本节主要基于粒子系统实现火焰视觉效果的模拟
2.新学习内容
1.SpriteParticleSystem的介绍,这个类是集成自ParticleSystem的,从源码可以看出
[java]
public class SpriteParticleSystem extends ParticleSystem {
// ===========================================================
// Constants
// ===========================================================

// ===========================================================
// Fields
// ===========================================================

// ===========================================================
// Constructors
// ===========================================================

public SpriteParticleSystem(final IParticleEmitter pParticleEmitter, final float pRateMinimum, final float pRateMaximum, final int pParticlesMaximum, final ITextureRegion pTextureRegion, final VertexBufferObjectManager pVertexBufferObjectManager) {
this(0, 0, pParticleEmitter, pRateMinimum, pRateMaximum, pParticlesMaximum, pTextureRegion, pVertexBufferObjectManager);
}

public SpriteParticleSystem(final float pX, final float pY, final IParticleEmitter pParticleEmitter, final float pRateMinimum, final float pRateMaximum, final int pParticlesMaximum, final ITextureRegion pTextureRegion, final VertexBufferObjectManager pVertexBufferObjectManager) {
super(pX, pY, new IEntityFactory() {
@Override
public Sprite create(final float pX, final float pY) {
return new Sprite(pX, pY, pTextureRegion, pVertexBufferObjectManager);
}
}, pParticleEmitter, pRateMinimum, pRateMaximum, pParticlesMaximum);
}

protected SpriteParticleSystem(final float pX, final float pY, final IEntityFactory pEntityFactory, final IParticleEmitter pParticleEmitter, final float pRateMinimum, final float pRateMaximum, final int pParticlesMaximum) {
super(pX, pY, pEntityFactory, pParticleEmitter, pRateMinimum, pRateMaximum, pParticlesMaximum);
}


// ===========================================================
// Getter & Setter
// ===========================================================

// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================

// ===========================================================
// Methods
// ===========================================================

// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}
2.在SpriteParticleSystem中引出了IParticleEmitter的概念,在AndEngine中,常用的几种粒子发射器有:
:圆环粒子发射器
PointParticleEmitter:点状粒子发射器
RectangleParticleEmitter:矩形例子粒子器
根据名称几可以大概知道发射出来的粒子形状
在本节当中主要使用到CircleParticleEmitter环形粒子源码如下:

[java]
public class CircleParticleEmitter extends BaseCircleParticleEmitter {
// ===========================================================
// Constants
// ===========================================================

// ===========================================================
// Fields
// =====================================================