Fork me on GitHub
Not signed in (Sign In)

Welcome, Guest

Want to take part in these discussions? Sign in if you have an account, or apply for one below

  1.  
    Hi, I'm very new to particle systems so please bear with me. I'm trying to expand the LogoTween example to Tween 3 images with bitmapdata objects (bitmapdata, bitmapdata2, bitmapdata3) particles. After 8 hours of working on this, when I run the code below I just get the first image that appears then disappears. Can anyone help with figuring out how to alter the LogoTween example to meet these needs? Thanks.

    ---------
    function myImagesLoaded(e:Event):void
    {

    //Initialize
    /*emitter = new Emitter2D();
    particles = Particle2DUtils.createRectangleParticlesFromBitmapData(bitmapdata, 10, emitter.particleFactory,0, 0 );
    emitter.addExistingParticles( particles, false );
    var rect:Rectangle=bitmapdata.rect;
    renderer = new BitmapRenderer(rect,false);
    renderer.addFilter( new BlurFilter( 1, 1, 100 ) );
    renderer.addFilter( new ColorMatrixFilter( [ 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.99,0 ] ) );

    renderer.addEmitter( emitter );
    addChild( renderer );
    emitter.start();

    stage.addEventListener( MouseEvent.CLICK, explode );*/

    startEmitter = new Emitter2D();
    tween1Emitter = new Emitter2D();
    tween2Emitter = new Emitter2D();
    tween3Emitter = new Emitter2D();
    particles = Particle2DUtils.createRectangleParticlesFromBitmapData(bitmapdata, 20, tween1Emitter.particleFactory,0, 0 );
    particles2 = Particle2DUtils.createRectangleParticlesFromBitmapData(bitmapdata2, 20,tween2Emitter.particleFactory, 0, 0 );
    particles3 = Particle2DUtils.createRectangleParticlesFromBitmapData(bitmapdata3, 20,tween3Emitter.particleFactory,0, 0 );



    //startEmitter.counter = new Blast( 0 );
    //startEmitter.addInitializer( new ColorInit( 0xFFFFFF00, 0xCC6600 ) );

    startEmitter.addInitializer( new Lifetime( 6 ) );
    startEmitter.addInitializer( new Position( new BitmapDataZone( bitmapdata, bitmapdata.width , bitmapdata.height ) ) );
    startEmitter.addAction( new Move() );
    startEmitter.addAction( new Age( ) );
    startEmitter.addAction( new RotateToDirection() );

    startEmitter.addAction( new TweenToZone( new BitmapDataZone( bitmapdata, bitmapdata.width , bitmapdata.height ) ) );


    tween1Emitter.addInitializer( new Lifetime( 6 ) );
    tween1Emitter.addAction( new Move() );
    tween1Emitter.addAction( new Age( ) );
    tween1Emitter.addAction( new RotateToDirection() );

    tween1Emitter.addAction( new TweenToZone( new BitmapDataZone( bitmapdata2, bitmapdata2.width , bitmapdata2.height ) ) );


    tween2Emitter.addInitializer( new Lifetime( 6 ) );
    tween2Emitter.addAction( new Move() );
    tween2Emitter.addAction( new Age( ) );
    tween2Emitter.addAction( new RotateToDirection() );

    tween2Emitter.addAction( new TweenToZone( new BitmapDataZone( bitmapdata3, bitmapdata3.width , bitmapdata3.height ) ) );


    tween3Emitter.addInitializer( new Lifetime( 6 ) );
    tween3Emitter.addAction( new Move() );
    tween3Emitter.addAction( new Age( ) );
    tween3Emitter.addAction( new RotateToDirection() );

    tween3Emitter.addAction( new TweenToZone( new BitmapDataZone( bitmapdata, bitmapdata.width , bitmapdata.height ) ) );

    startEmitter.addExistingParticles( particles, false );
    /*tween1Emitter.addExistingParticles( particles, false );
    tween2Emitter.addExistingParticles( particles2, false );
    tween3Emitter.addExistingParticles( particles3, false );*/

    var rect:Rectangle=bitmapdata.rect;
    renderer = new BitmapRenderer(rect,false);
    renderer.addFilter( new BlurFilter( 2, 2, 1 ) );
    renderer.addFilter( new ColorMatrixFilter( [ 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.95,0 ] ) );
    renderer.addEmitter( startEmitter );
    renderer.addEmitter( tween1Emitter );
    renderer.addEmitter( tween2Emitter );
    renderer.addEmitter( tween3Emitter );
    addChild( renderer );

    startEmitter.addEventListener( ParticleEvent.PARTICLE_DEAD, moveToTween1 );
    tween1Emitter.addEventListener( ParticleEvent.PARTICLE_DEAD, moveToTween2 );
    tween2Emitter.addEventListener( ParticleEvent.PARTICLE_DEAD, moveToTween3 );
    tween3Emitter.addEventListener( ParticleEvent.PARTICLE_DEAD, moveToTween1 );

    startEmitter.start();
    tween1Emitter.start();
    tween2Emitter.start();
    tween3Emitter.start();


    }

    function moveToTween1( event:ParticleEvent ):void
    {
    var dyingParticle:Particle2D = event.particle as Particle2D;
    var newParticle:Particle2D = tween1Emitter.particleFactory.createParticle() as Particle2D;
    newParticle.x = dyingParticle.x;
    newParticle.y = dyingParticle.y;

    newParticle.color = dyingParticle.color;
    tween1Emitter.addExistingParticles([newParticle], false );
    }

    function moveToTween2( event:ParticleEvent ):void
    {
    var dyingParticle:Particle2D = event.particle as Particle2D;
    var newParticle:Particle2D = tween2Emitter.particleFactory.createParticle() as Particle2D;
    newParticle.x = dyingParticle.x;
    newParticle.y = dyingParticle.y;
    newParticle.color = dyingParticle.color;
    tween2Emitter.addExistingParticles( [newParticle], false );
    }

    function moveToTween3( event:ParticleEvent ):void
    {
    var dyingParticle:Particle2D = event.particle as Particle2D;
    var newParticle:Particle2D = tween3Emitter.particleFactory.createParticle() as Particle2D;
    newParticle.x = dyingParticle.x;
    newParticle.y = dyingParticle.y;
    newParticle.color = dyingParticle.color;
    tween3Emitter.addExistingParticles( [newParticle], false );
    }
  2.  
    Oh, I forgot to remove the commenting marks from:
    /*tween1Emitter.addExistingParticles( particles, false );
    tween2Emitter.addExistingParticles( particles2, false );
    tween3Emitter.addExistingParticles( particles3, false );*/

    The results I got included this coding without the comment marks.

    Thanks.