@Override public void simpleUpdate(float tpf){ time += tpf / speed; if (time > 1f && state == 0){ flash.emitAllParticles(); spark.emitAllParticles(); smoketrail.emitAllParticles(); debris.emitAllParticles(); shockwave.emitAllParticles(); state++; } if (time > 1f + .05f / speed && state == 1){ flame.emitAllParticles(); roundspark.emitAllParticles(); state++; } // rewind the effect if (time > 5 / speed && state == 2){ state = 0; time = 0; flash.killAllParticles(); spark.killAllParticles(); smoketrail.killAllParticles(); debris.killAllParticles(); flame.killAllParticles(); roundspark.killAllParticles(); shockwave.killAllParticles(); } }
public void collision(PhysicsCollisionEvent event) { if (event.getObjectA() instanceof BombControl) { final Spatial node = event.getNodeA(); effect.killAllParticles(); effect.setLocalTranslation(node.getLocalTranslation()); effect.emitAllParticles(); } else if (event.getObjectB() instanceof BombControl) { final Spatial node = event.getNodeB(); effect.killAllParticles(); effect.setLocalTranslation(node.getLocalTranslation()); effect.emitAllParticles(); } }