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); 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值