notice: Flash editor updated! Join the development! Thanks to MiniBuilder


embed

FORKED
  1. // forked from mrdoob's Simple physics
  2. package
  3. {
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.     public class Particles extends Sprite
  7.     {
  8.         public var stageWidth : int = stage.stageWidth - 8;
  9.         public var stageHeight : int = stage.stageHeight - 8;
  10.         private var particles : Array = new Array;
  11.         private var particles_count : int = 100;
  12.         public function Particles()
  13.         {
  14.             addEventListener( Event.ADDED_TO_STAGE, init );
  15.         }
  16.         
  17.         private function init( e : Event ) : void
  18.         {
  19.             removeEventListener( Event.ADDED_TO_STAGE, init );
  20.             for (var i : int = 0; i < particles_count; i++)
  21.             {
  22.                 particles[i] = new Particle;
  23.         particles[i].x = Math.random() * stageWidth;
  24.         particles[i].y = Math.random() * stageHeight;
  25.         particles[i].vx = Math.random() * 20 - 10;
  26.         particles[i].vy = Math.random() * 20 - 10;
  27.                 addChild( particles[i] );
  28.             }
  29.             
  30.             addEventListener(Event.ENTER_FRAME, loop);
  31.         }
  32.         private function loop( e : Event ) : void
  33.         {
  34.         var distance : Object = {x:0, y:0};
  35.         var impact : Object = {x:0, y:0};
  36.         var impulse : Object = {x:0, y:0};
  37.         var impulseHalf : Object = {x:0, y:0};
  38.             var gravity : Object = {x: (mouseX - (stageWidth >> 1)) / stageWidth, y: (mouseY - (stageHeight >> 1)) / stageHeight };
  39.             for ( var i : int = 0; i < particles_count; i++)
  40.             {
  41.                 var particle : Particle = particles[i];
  42.             
  43.                 forvar j : int = 0; j < particles_count; j++)
  44.                 {
  45.                     var particle2 : Particle = particles[j];
  46.                     
  47.                     if (particle2 == particle)
  48.             continue;
  49.                 
  50.                     distance.x = particle.x - particle2.x;
  51.                     distance.y = particle.y - particle2.y;
  52.                                 
  53.                     var length : Number = Math.sqrt(distance.x * distance.x + distance.y * distance.y);
  54.                 
  55.                     if (length < 16)
  56.                     {                         
  57.                         impact.x = particle2.vx - particle.vx; //) * particle.restitution;
  58.                         impact.y = particle2.vy - particle.vy; //) * particle.restitution;
  59.                      
  60.             impulse.x = particle2.x - particle.x;
  61.             impulse.y = particle2.y - particle.y;
  62.                     
  63.             var mag : Number = Math.sqrt(impulse.x * impulse.x + impulse.y * impulse.y);
  64.                     
  65.             if (mag > 0)
  66.             {
  67.                 mag = 1 / mag;
  68.                 impulse.x *= mag;
  69.                 impulse.y *= mag;
  70.             }
  71.                     
  72.             impulseHalf.x = impulse.x * .5;
  73.             impulseHalf.y = impulse.y * .5;
  74.                     
  75.             particle.x -= impulseHalf.x;
  76.             particle.y -= impulseHalf.y;
  77.                     
  78.             particle2.x += impulseHalf.x;
  79.             particle2.y += impulseHalf.y;
  80.                 
  81.             var dot : Number = impact.x * impulse.x + impact.y * impulse.y;
  82.                     
  83.             impulse.x *= dot;
  84.             impulse.y *= dot;
  85.                     
  86.             particle.vx += impulse.x * 1.99// * particle.restitution;
  87.             particle.vy += impulse.y * 1.99// * particle.restitution;
  88.             particle2.vx -= impulse.x * 1.99//particle.restitution;
  89.             particle2.vy -= impulse.y * 1.99//particle.restitution;
  90.                     }
  91.                 }
  92.             
  93.         particle.x += particle.vx += gravity.x;
  94.         particle.y += particle.vy += gravity.y;
  95.         
  96.         if (particle.y < 8 || particle.y > stageHeight)
  97.         {
  98.             particle.vy *= -.8;
  99.             particle.vx *= .98;
  100.         }
  101.             
  102.         particle.y = (particle.y < 8) ? 8 : (particle.y > stageHeight) ? stageHeight : particle.y;
  103.             
  104.         if (particle.x < 8 || particle.x > stageWidth)
  105.             particle.vx *= -.8;            
  106.             
  107.         particle.x = (particle.x < 8) ? 8 : (particle.x > stageWidth) ? stageWidth : particle.x;        
  108.         }
  109.         }
  110.     }
  111. }
  112. import flash.display.Sprite;
  113. class Particle extends Sprite
  114. {
  115.     public var vx : Number = 0;
  116.     public var vy : Number = 0;
  117.     public function Particle()
  118.     {
  119.         graphics.beginFill(0x000000);
  120.         graphics.drawCircle(0,0,8);
  121.         graphics.endFill();
  122.     }
  123. }
noswf
  1. // forked from mrdoob's Simple physics
  2. package
  3. {
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.     public class Particles extends Sprite
  7.     {
  8.         public var stageWidth : int = stage.stageWidth - 8;
  9.         public var stageHeight : int = stage.stageHeight - 8;
  10.         private var particles : Array = new Array;
  11.         private var particles_count : int = 100;
  12.         public function Particles()
  13.         {
  14.             addEventListener( Event.ADDED_TO_STAGE, init );
  15.         }
  16.         
  17.         private function init( e : Event ) : void
  18.         {
  19.             removeEventListener( Event.ADDED_TO_STAGE, init );
  20.             for (var i : int = 0; i < particles_count; i++)
  21.             {
  22.                 particles[i] = new Particle;
  23.         particles[i].x = Math.random() * stageWidth;
  24.         particles[i].y = Math.random() * stageHeight;
  25.         particles[i].vx = Math.random() * 20 - 10;
  26.         particles[i].vy = Math.random() * 20 - 10;
  27.                 addChild( particles[i] );
  28.             }
  29.             
  30.             addEventListener(Event.ENTER_FRAME, loop);
  31.         }
  32.         private function loop( e : Event ) : void
  33.         {
  34.         var distance : Object = {x:0, y:0};
  35.         var impact : Object = {x:0, y:0};
  36.         var impulse : Object = {x:0, y:0};
  37.         var impulseHalf : Object = {x:0, y:0};
  38.             var gravity : Object = {x: (mouseX - (stageWidth >> 1)) / stageWidth, y: (mouseY - (stageHeight >> 1)) / stageHeight };
  39.             for ( var i : int = 0; i < particles_count; i++)
  40.             {
  41.                 var particle : Particle = particles[i];
  42.             
  43.                 forvar j : int = 0; j < particles_count; j++)
  44.                 {
  45.                     var particle2 : Particle = particles[j];
  46.                     
  47.                     if (particle2 == particle)
  48.             continue;
  49.                 
  50.                     distance.x = particle.x - particle2.x;
  51.                     distance.y = particle.y - particle2.y;
  52.                                 
  53.                     var length : Number = Math.sqrt(distance.x * distance.x + distance.y * distance.y);
  54.                 
  55.                     if (length < 16)
  56.                     {                         
  57.                         impact.x = particle2.vx - particle.vx; //) * particle.restitution;
  58.                         impact.y = particle2.vy - particle.vy; //) * particle.restitution;
  59.                      
  60.             impulse.x = particle2.x - particle.x;
  61.             impulse.y = particle2.y - particle.y;
  62.                     
  63.             var mag : Number = Math.sqrt(impulse.x * impulse.x + impulse.y * impulse.y);
  64.                     
  65.             if (mag > 0)
  66.             {
  67.                 mag = 1 / mag;
  68.                 impulse.x *= mag;
  69.                 impulse.y *= mag;
  70.             }
  71.                     
  72.             impulseHalf.x = impulse.x * .5;
  73.             impulseHalf.y = impulse.y * .5;
  74.                     
  75.             particle.x -= impulseHalf.x;
  76.             particle.y -= impulseHalf.y;
  77.                     
  78.             particle2.x += impulseHalf.x;
  79.             particle2.y += impulseHalf.y;
  80.                 
  81.             var dot : Number = impact.x * impulse.x + impact.y * impulse.y;
  82.                     
  83.             impulse.x *= dot;
  84.             impulse.y *= dot;
  85.                     
  86.             particle.vx += impulse.x * .9// * particle.restitution;
  87.             particle.vy += impulse.y * .9// * particle.restitution;
  88.             particle2.vx -= impulse.x * .9//particle.restitution;
  89.             particle2.vy -= impulse.y * .9//particle.restitution;
  90.                     }
  91.                 }
  92.             
  93.         particle.x += particle.vx += gravity.x;
  94.         particle.y += particle.vy += gravity.y;
  95.         
  96.         if (particle.y < 8 || particle.y > stageHeight)
  97.         {
  98.             particle.vy *= -.8;
  99.             particle.vx *= .98;
  100.         }
  101.             
  102.         particle.y = (particle.y < 8) ? 8 : (particle.y > stageHeight) ? stageHeight : particle.y;
  103.             
  104.         if (particle.x < 8 || particle.x > stageWidth)
  105.             particle.vx *= -.8;            
  106.             
  107.         particle.x = (particle.x < 8) ? 8 : (particle.x > stageWidth) ? stageWidth : particle.x;        
  108.         }
  109.         }
  110.     }
  111. }
  112. import flash.display.Sprite;
  113. class Particle extends Sprite
  114. {
  115.     public var vx : Number = 0;
  116.     public var vy : Number = 0;
  117.     public function Particle()
  118.     {
  119.         graphics.beginFill(0x000000);
  120.         graphics.drawCircle(0,0,8);
  121.         graphics.endFill();
  122.     }
  123. }
noswf
  1. // forked from mrdoob's Simple physics
  2. package
  3. {
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.     public class Particles extends Sprite
  7.     {
  8.         public var stageWidth : int = stage.stageWidth - 8;
  9.         public var stageHeight : int = stage.stageHeight - 8;
  10.         private var particles : Array = new Array;
  11.         private var particles_count : int = 100;
  12.         public function Particles()
  13.         {
  14.             addEventListener( Event.ADDED_TO_STAGE, init );
  15.         }
  16.         
  17.         private function init( e : Event ) : void
  18.         {
  19.             removeEventListener( Event.ADDED_TO_STAGE, init );
  20.             for (var i : int = 0; i < particles_count; i++)
  21.             {
  22.                 particles[i] = new Particle;
  23.         particles[i].x = Math.random() * stageWidth;
  24.         particles[i].y = Math.random() * stageHeight;
  25.         particles[i].vx = Math.random() * 20 - 10;
  26.         particles[i].vy = Math.random() * 20 - 10;
  27.                 addChild( particles[i] );
  28.             }
  29.             
  30.             addEventListener(Event.ENTER_FRAME, loop);
  31.         }
  32.         private function loop( e : Event ) : void
  33.         {
  34.         var distance : Object = {x:0, y:0};
  35.         var impact : Object = {x:0, y:0};
  36.         var impulse : Object = {x:0, y:0};
  37.         var impulseHalf : Object = {x:0, y:0};
  38.             var gravity : Object = {x: (mouseX - (stageWidth >> 1)) / stageWidth, y: (mouseY - (stageHeight >> 1)) / stageHeight };
  39.             for ( var i : int = 0; i < particles_count; i++)
  40.             {
  41.                 var particle : Particle = particles[i];
  42.             
  43.                 forvar j : int = 0; j < particles_count; j++)
  44.                 {
  45.                     var particle2 : Particle = particles[j];
  46.                     
  47.                     if (particle2 == particle)
  48.             continue;
  49.                 
  50.                     distance.x = particle.x - particle2.x;
  51.                     distance.y = particle.y - particle2.y;
  52.                                 
  53.                     var length : Number = Math.sqrt(distance.x * distance.x + distance.y * distance.y);
  54.                 
  55.                     if (length < 16)
  56.                     {                         
  57.                         impact.x = particle2.vx - particle.vx; //) * particle.restitution;
  58.                         impact.y = particle2.vy - particle.vy; //) * particle.restitution;
  59.                      
  60.             impulse.x = particle2.x - particle.x;
  61.             impulse.y = particle2.y - particle.y;
  62.                     
  63.             var mag : Number = Math.sqrt(impulse.x * impulse.x + impulse.y * impulse.y);
  64.                     
  65.             if (mag > 0)
  66.             {
  67.                 mag = 1 / mag;
  68.                 impulse.x *= mag;
  69.                 impulse.y *= mag;
  70.             }
  71.                     
  72.             impulseHalf.x = impulse.x * .5;
  73.             impulseHalf.y = impulse.y * .5;
  74.                     
  75.             particle.x -= impulseHalf.x;
  76.             particle.y -= impulseHalf.y;
  77.                     
  78.             particle2.x += impulseHalf.x;
  79.             particle2.y += impulseHalf.y;
  80.                 
  81.             var dot : Number = impact.x * impulse.x + impact.y * impulse.y;
  82.                     
  83.             impulse.x *= dot;
  84.             impulse.y *= dot;
  85.                     
  86.             particle.vx += impulse.x * .9// * particle.restitution;
  87.             particle.vy += impulse.y * .9// * particle.restitution;
  88.             particle2.vx -= impulse.x * .9//particle.restitution;
  89.             particle2.vy -= impulse.y * .9//particle.restitution;
  90.                     }
  91.                 }
  92.             
  93.         particle.x += particle.vx += gravity.x;
  94.         particle.y += particle.vy += gravity.y;
  95.         
  96.         if (particle.y < 8 || particle.y > stageHeight)
  97.         {
  98.             particle.vy *= -.8;
  99.             particle.vx *= .98;
  100.         }
  101.             
  102.         particle.y = (particle.y < 8) ? 8 : (particle.y > stageHeight) ? stageHeight : particle.y;
  103.             
  104.         if (particle.x < 8 || particle.x > stageWidth)
  105.             particle.vx *= -.8;            
  106.             
  107.         particle.x = (particle.x < 8) ? 8 : (particle.x > stageWidth) ? stageWidth : particle.x;        
  108.         }
  109.         }
  110.     }
  111. }
  112. import flash.display.Sprite;
  113. class Particle extends Sprite
  114. {
  115.     public var vx : Number = 0;
  116.     public var vy : Number = 0;
  117.     public function Particle()
  118.     {
  119.         graphics.beginFill(0x000000);
  120.         graphics.drawCircle(0,0,8);
  121.         graphics.endFill();
  122.     }
  123. }
noswf
  1. // forked from mrdoob's Simple physics
  2. package
  3. {
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.     public class Particles extends Sprite
  7.     {
  8.         public var stageWidth : int = stage.stageWidth - 8;
  9.         public var stageHeight : int = stage.stageHeight - 8;
  10.         private var particles : Array = new Array;
  11.         private var particles_count : int = 100;
  12.         public function Particles()
  13.         {
  14.             addEventListener( Event.ADDED_TO_STAGE, init );
  15.         }
  16.         
  17.         private function init( e : Event ) : void
  18.         {
  19.             removeEventListener( Event.ADDED_TO_STAGE, init );
  20.             for (var i : int = 0; i < particles_count; i++)
  21.             {
  22.                 particles[i] = new Particle;
  23.         particles[i].x = Math.random() * particles[i].y;
  24.         particles[i].y = Math.random() * particles[i].x;
  25.         particles[i].vx = Math.random() * 20 - 10;
  26.         particles[i].vy = Math.random() * 20 - 10;
  27.                 addChild( particles[i] );
  28.             }
  29.             
  30.             addEventListener(Event.ENTER_FRAME, loop);
  31.         }
  32.         private function loop( e : Event ) : void
  33.         {
  34.         var distance : Object = {x:0, y:0};
  35.         var impact : Object = {x:0, y:0};
  36.         var impulse : Object = {x:0, y:0};
  37.         var impulseHalf : Object = {x:0, y:0};
  38.             var gravity : Object = {x: (mouseX - (stageWidth >> 1)) / stageWidth, y: (mouseY - (stageHeight >> 1)) / stageHeight };
  39.             for ( var i : int = 0; i < particles_count; i++)
  40.             {
  41.                 var particle : Particle = particles[i];
  42.             
  43.                 forvar j : int = 0; j < particles_count; j++)
  44.                 {
  45.                     var particle2 : Particle = particles[j];
  46.                     
  47.                     if (particle2 == particle)
  48.             continue;
  49.                 
  50.                     distance.x = particle.x - particle2.x;
  51.                     distance.y = particle.y - particle2.y;
  52.                                 
  53.                     var length : Number = Math.sqrt(distance.x * distance.x + distance.y * distance.y);
  54.                 
  55.                     if (length < 16)
  56.                     {                         
  57.                         impact.x = particle2.vx - particle.vx; //) * particle.restitution;
  58.                         impact.y = particle2.vy - particle.vy; //) * particle.restitution;
  59.                      
  60.             impulse.x = particle2.x - particle.x;
  61.             impulse.y = particle2.y - particle.y;
  62.                     
  63.             var mag : Number = Math.sqrt(impulse.x * impulse.x + impulse.y * impulse.y);
  64.                     
  65.             if (mag > 0)
  66.             {
  67.                 mag = 1 / mag;
  68.                 impulse.x *= mag;
  69.                 impulse.y *= mag;
  70.             }
  71.                     
  72.             impulseHalf.x = impulse.x * .5;
  73.             impulseHalf.y = impulse.y * .5;
  74.                     
  75.             particle.x -= impulseHalf.x;
  76.             particle.y -= impulseHalf.y;
  77.                     
  78.             particle2.x += impulseHalf.x;
  79.             particle2.y += impulseHalf.y;
  80.                 
  81.             var dot : Number = impact.x * impulse.x + impact.y * impulse.y;
  82.                     
  83.             impulse.x *= dot;
  84.             impulse.y *= dot;
  85.                     
  86.             particle.vx += impulse.x * .9// * particle.restitution;
  87.             particle.vy += impulse.y * .9// * particle.restitution;
  88.             particle2.vx -= impulse.x * .9//particle.restitution;
  89.             particle2.vy -= impulse.y * .9//particle.restitution;
  90.                     }
  91.                 }
  92.             
  93.         particle.x += particle.vx += gravity.x;
  94.         particle.y += particle.vy += gravity.y;
  95.         
  96.         if (particle.y < 8 || particle.y > stageHeight)
  97.         {
  98.             particle.vy *= -.8;
  99.             particle.vx *= .98;
  100.         }
  101.             
  102.         particle.y = (particle.y < 8) ? 8 : (particle.y > stageHeight) ? stageHeight : particle.y;
  103.             
  104.         if (particle.x < 8 || particle.x > stageWidth)
  105.             particle.vx *= -.8;            
  106.             
  107.         particle.x = (particle.x < 8) ? 8 : (particle.x > stageWidth) ? stageWidth : particle.x;        
  108.         }
  109.         }
  110.     }
  111. }
  112. import flash.display.Sprite;
  113. class Particle extends Sprite
  114. {
  115.     public var vx : Number = 0;
  116.     public var vy : Number = 0;
  117.     public function Particle()
  118.     {
  119.         graphics.beginFill(0x000000);
  120.         graphics.drawCircle(0,0,8);
  121.         graphics.endFill();
  122.     }
  123. }
noswf
  1. // forked from mrdoob's Simple physics
  2. package
  3. {
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.     public class Particles extends Sprite
  7.     {
  8.         public var stageWidth : int = stage.stageWidth - 8;
  9.         public var stageHeight : int = stage.stageHeight - 8;
  10.         private var particles : Array = new Array;
  11.         private var particles_count : int = 100;
  12.         public function Particles()
  13.         {
  14.             addEventListener( Event.ADDED_TO_STAGE, init );
  15.         }
  16.         
  17.         private function init( e : Event ) : void
  18.         {
  19.             removeEventListener( Event.ADDED_TO_STAGE, init );
  20.             for (var i : int = 0; i < particles_count; i++)
  21.             {
  22.                 particles[i] = new Particle;
  23.         particles[i].x = Math.random() * stageWidth;
  24.         particles[i].y = Math.random() * stageHeight;
  25.         particles[i].vx = Math.random() * 20 - 10;
  26.         particles[i].vy = Math.random() * 20 - 10;
  27.                 addChild( particles[i] );
  28.             }
  29.             
  30.             addEventListener(Event.ENTER_FRAME, loop);
  31.         }
  32.         private function loop( e : Event ) : void
  33.         {
  34.         var distance : Object = {x:0, y:0};
  35.         var impact : Object = {x:0, y:0};
  36.         var impulse : Object = {x:0, y:0};
  37.         var impulseHalf : Object = {x:0, y:0};
  38.             var gravity : Object = {x: (mouseX - (stageWidth >> 1)) / stageWidth, y: (mouseY - (stageHeight >> 1)) / stageHeight };
  39.             for ( var i : int = 0; i < particles_count; i++)
  40.             {
  41.                 var particle : Particle = particles[i];
  42.             
  43.                 forvar j : int = 0; j < particles_count; j++)
  44.                 {
  45.                     var particle2 : Particle = particles[j];
  46.                     
  47.                     if (particle2 == particle)
  48.             continue;
  49.                 
  50.                     distance.x = particle.x - particle2.x;
  51.                     distance.y = particle.y - particle2.y;
  52.                                 
  53.                     var length : Number = Math.sqrt(distance.x * distance.x + distance.y * distance.y);
  54.                 
  55.                     if (length < 16)
  56.                     {                         
  57.                         impact.x = particle2.vx - particle.vx; //) * particle.restitution;
  58.                         impact.y = particle2.vy - particle.vy; //) * particle.restitution;
  59.                      
  60.             impulse.x = particle2.x - particle.x;
  61.             impulse.y = particle2.y - particle.y;
  62.                     
  63.             var mag : Number = Math.sqrt(impulse.x * impulse.x + impulse.y * impulse.y);
  64.                     
  65.             if (mag > 0)
  66.             {
  67.                 mag = 1 / mag;
  68.                 impulse.x *= mag;
  69.                 impulse.y *= mag;
  70.             }
  71.                     
  72.             impulseHalf.x = impulse.x * .5;
  73.             impulseHalf.y = impulse.y * .5;
  74.                     
  75.             particle.x -= impulseHalf.x;
  76.             particle.y -= impulseHalf.y;
  77.                     
  78.             particle2.x += impulseHalf.x;
  79.             particle2.y += impulseHalf.y;
  80.                 
  81.             var dot : Number = impact.x * impulse.x + impact.y * impulse.y;
  82.                     
  83.             impulse.x *= dot;
  84.             impulse.y *= dot;
  85.                     
  86.             particle.vx += impulse.x * .9// * particle.restitution;
  87.             particle.vy += impulse.y * .9// * particle.restitution;
  88.             particle2.vx -= impulse.x * .9//particle.restitution;
  89.             particle2.vy -= impulse.y * .9//particle.restitution;
  90.                     }
  91.                 }
  92.             
  93.         particle.x += particle.vx += gravity.x;
  94.         particle.y += particle.vy += gravity.y;
  95.         
  96.         if (particle.y < 8 || particle.y > stageHeight)
  97.         {
  98.             particle.vy *= -.8;
  99.             particle.vx *= .98;
  100.         }
  101.             
  102.         particle.y = (particle.y < 8) ? 8 : (particle.y > stageHeight) ? stageHeight : particle.y;
  103.             
  104.         if (particle.x < 8 || particle.x > stageWidth)
  105.             particle.vx *= -.8;            
  106.             
  107.         particle.x = (particle.x < 8) ? 8 : (particle.x > stageWidth) ? stageWidth : particle.x;        
  108.         }
  109.         }
  110.     }
  111. }
  112. import flash.display.Sprite;
  113. class Particle extends Sprite
  114. {
  115.     public var vx : Number = 0;
  116.     public var vy : Number = 0;
  117.     public function Particle()
  118.     {
  119.         graphics.beginFill(0x000000);
  120.         graphics.drawCircle(0,0,8);
  121.         graphics.endFill();
  122.     }
  123. }
noswf
Get Adobe Flash Player