Flint Particle System Forum - Revive a particle where it died Sat, 26 May 2012 06:16:01 +0100 http://flintparticles.org/forum/ Lussumo Vanilla 1.1.10 & Feed Publisher Revive a particle where it died http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1877#Comment_1877 http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1877#Comment_1877 Sun, 15 Jan 2012 05:50:53 +0000 fred fred

var myApple:Apple = new Apple();
var myMickey:Mickey = new Mickey();
var myMarlboro:Marlboro = new Marlboro();
var myNike:Nike = new Nike();

var myArray:Array = [myApple, myMickey, myMarlboro, myNike ];

renderer = new DisplayObjectRenderer();
addChild(renderer);
emitter = new Emitter2D();
renderer.addEmitter(emitter);

emitter.addInitializer( new Position( new RectangleZone( 0, 0, 1024, 768)));
emitter.addInitializer( new Lifetime(10, 20));
emitter.addAction( new Move());
emitter.addAction( new Age(TwoWay.sine));
emitter.addAction( new Fade());

var myParticles:Vector.<Particle> = Particle2DUtils.createParticles2DFromDisplayObjects( myArray );
emitter.addEventListener( ParticleEvent.PARTICLE_DEAD, revive4Particles );

emitter.addParticles( myParticles , true);
emitter.start();

private function revive4Particles( event:ParticleEvent ):void
{
event.particle.revive();
event.currentTarget.addParticle(Particle2D(event.particle), true);
} ]]>
Revive a particle where it died http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1878#Comment_1878 http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1878#Comment_1878 Sat, 21 Jan 2012 11:13:16 +0000 Richard Revive a particle where it died http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1879#Comment_1879 http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1879#Comment_1879 Sun, 22 Jan 2012 01:55:39 +0000 fred Thanks for your response. I understand that if set to true, I am applying the emitter's initializers to the particle.
I could set it to false but I need other addInitializers like Lifetime and also actions like Move, Age and Fade.
Any way to select what to apply?
Should I recreate a new emitter, pass the particule and kill the old one?
Thx again.
Fred ]]>
Revive a particle where it died http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1880#Comment_1880 http://flintparticles.org/forum/comments.php?DiscussionID=549&Focus=1880#Comment_1880 Sun, 22 Jan 2012 02:15:05 +0000 fred Removing the position Initializer did the trick.
thx

var myApple:Apple = new Apple();
var myMickey:Mickey = new Mickey();
var myMarlboro:Marlboro = new Marlboro();
var myNike:Nike = new Nike();

var myPosition:Position;

var myArray:Array = [myApple, myMickey, myMarlboro, myNike ];

renderer = new DisplayObjectRenderer();
addChild(renderer);
emitter = new Emitter2D();
renderer.addEmitter(emitter);

myPosition = new Position(new RectangleZone( 0, 0, 1024, 768));
emitter.addInitializer( myPosition );

emitter.addInitializer( new Lifetime(10, 20));
emitter.addAction( new Move());
emitter.addAction( new Age(TwoWay.sine));
emitter.addAction( new Fade());

var myParticles:Vector.<Particle> = Particle2DUtils.createParticles2DFromDisplayObjects( myArray );
emitter.addEventListener( ParticleEvent.PARTICLE_DEAD, revive4Particles );

emitter.addParticles( myParticles , true);
emitter.start();

private function revive4Particles( event:ParticleEvent ):void
{
event.particle.revive();

emitter.removeInitializer( myPosition );

event.currentTarget.addParticle(Particle2D(event.particle), true);
} ]]>