andengine 粒子系統

ParticleEmitter類:發射形狀

CircleParticleEmitter(final float pCenterX, final float pCenterY, final float pRadius);圓形發射器

CircleParticleEmitter(final float pCenterX, final float pCenterY, final float pRadiusX, final float pRadiusY);橢圓發射器

CircleOutlineParticleEmitter;與上面相同,只是發射位置爲圖形邊緣

RectangleParticleEmitter;矩形發射器,當長或寬爲0時,爲一條直線

PointParticleEmitter;點發射器

 

ParticleInitializer類:初始設定

VelocityParticleInitializer:設定粒子初始速度

RotationParticleInitializer:旋轉角度

ColorParticleInitializer:顏色

。。。。。。

 

ParticleModifier類:Particle修改器

與Entity修改器一樣

 

setParticlesSpawnEnabled();啓動或生成粒子。

 

例:

CircleParticleEmitter emitter=new CircleParticleEmitter(CAMERA_WIDTH*0.5f, CAMERA_HEIGHT*0.5f, 40);

SpriteParticleSystem particlesystem=new SpriteParticleSystem(emitter, 100, 100, 500, bg2, getVertexBufferObjectManager());

particlesystem.addParticleInitializer(new ColorParticleInitializer(Color.RED));

particlesystem.addParticleInitializer(new AlphaParticleInitializer(0));

particlesystem.addParticleInitializer(new BlendFunctionParticleInitializer(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE));

    particlesystem.addParticleInitializer(new VelocityParticleInitializer(-5, 5, 20, 10));// 前兩個值爲橫向加速度的取值範圍,後面兩個值爲縱向加速度取值範圍  

    particlesystem.addParticleInitializer(new RotationParticleInitializer(0.0f, 360.0f));// 旋轉角度取值範圍  

    particlesystem.addParticleInitializer(new ExpireParticleInitializer(6));// 單個粒子持續時間  

 

    particlesystem.addParticleModifier(new ScaleParticleModifier(0, 5, 1.0f, 2.0f));// 粒子產生過程0-5秒從原始大小變爲2倍大小  

    particlesystem.addParticleModifier(new ColorParticleModifier(0, 3, 1, 1, 0, 0.5f, 0, 0));// 0-3秒間的顏色變化  

    particlesystem.addParticleModifier(new ColorParticleModifier(4, 6, 1, 1, 0.5f, 1, 0, 1));// 4-6秒間的顏色變化  

    particlesystem.addParticleModifier(new AlphaParticleModifier(0, 1, 0, 1));// 0-1秒間透明度變化  

    particlesystem.addParticleModifier(new AlphaParticleModifier(5, 6, 1, 0));// 5-6秒間透明度變化  

 

    scene.attachChild(particlesystem); 

 

發佈了31 篇原創文章 · 獲贊 29 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章