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


forked from : fladdict's Worm Study03 [diff(10)]

embed

FORKED
  1. // forked from fladdict's Worm Study04
  2. // forked from fladdict's Worm Study03
  3. // forked from fladdict's Worm Study02
  4. // forked from fladdict's Worm Study01
  5. // forked from fladdict's code on 2008-12-17
  6. // write as3 code here..
  7. // Study for color generation.
  8. package{
  9.   import flash.display.*
  10.   import flash.events.*
  11.   import flash.geom.*
  12.   public class Sketch02 extends Sprite
  13.   {
  14.     public var bm:Bitmap;
  15.     public var bmd:BitmapData;
  16.     public var particles:Array;
  17.     public var numParticles:int = 100;
  18.     public function Sketch02():void
  19.     {
  20.       bmd = new BitmapData(stage.stageWidth,stage.stageHeight, false, 0x000000);
  21.       bm = new Bitmap(bmd);
  22.       addChild(bm);
  23.       particles = [];
  24.       for(var i:int=0; i<numParticles; i++)
  25.       {
  26.         var prt:Object = createParticle();
  27.         particles.push(prt);
  28.       }
  29.       stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  30.     }
  31.     public function enterFrameHandler(e:Event):void
  32.     {
  33.       var n:int = particles.length;
  34.       for(var i:int=0; i<n; i++)
  35.       {
  36.         var prt:Object = particles[i];
  37.         prt.dv += Math.random()*0.03-0.015;
  38.         prt.direction += prt.dv;
  39.         prt.x += Math.cos(prt.direction) * prt.v;
  40.         prt.y += Math.sin(prt.direction) * prt.v;
  41.         if(prt.x < 0 ){
  42.           prt.x = stage.stageWidth;
  43.         }else if(prt.x > stage.stageWidth){
  44.           prt.x = 0;
  45.         }
  46.         if(prt.y < 0 ){
  47.           prt.y = stage.stageHeight;
  48.         }else if(prt.y > stage.stageHeight){
  49.           prt.y = 0;
  50.         }
  51.         //
  52.         //Add randomness to color
  53.         //
  54.         prt.rad += prt.radV;
  55.         var r:Number = prt.red   * ((1+Math.cos(prt.rad))*0.5);
  56.         var g:Number = prt.green * ((1+Math.cos(prt.rad))*0.5);
  57.         var b:Number = prt.blue  * ((1+Math.cos(prt.rad))*0.5);
  58.         r = Math.round(Math.min(255, Math.max(0,r)));
  59.         g = Math.round(Math.min(255, Math.max(0,g)));
  60.         b = Math.round(Math.min(255, Math.max(0,b)));
  61.         var col:Number = r<<16 | g<<8 | b;
  62.         bmd.setPixel(prt.x, prt.y, col);
  63.       }
  64.     }
  65.     protected function createParticle():Object
  66.     {
  67.         var obj:Object = {};
  68.         //moving setting
  69.         obj.x = stage.stageWidth * 0.5;
  70.         obj.y = stage.stageHeight * 0.5;
  71.         obj.v = 0.4 + Math.random()*0.5;
  72.         obj.direction = Math.random()*Math.PI*2;
  73.         //color setting
  74.         obj.red = Math.random()*255;
  75.         obj.green = Math.random()*obj.red;
  76.         obj.blue = Math.random()*obj.red;
  77.         //oscilator setting
  78.         obj.rad = Math.random()*Math.PI*2;
  79.         obj.radV = 0.1;
  80.         obj.color = getColor();
  81.         obj.dv = (Math.random()-0.5) * 0.03;
  82.         return obj;
  83.     }
  84.     protected function getColor():int
  85.     {
  86.         var r:int = Math.random()*255;
  87.         var g:int = Math.random()*r*0.5 + r*0.5;
  88.         var b:int = Math.random()*g*0.5 + r*0.5;
  89.         return r<<16 | g<<16 | b;
  90.     }
  91.     protected function normRand():Number 
  92.     {
  93.       return (Math.random()+Math.random()+Math.random()+Math.random()+Math.random())/5 - 0.5;
  94.     }
  95.   }
  96. }
noswf
  1. // forked from fladdict's Worm Study04
  2. // forked from fladdict's Worm Study03
  3. // forked from fladdict's Worm Study02
  4. // forked from fladdict's Worm Study01
  5. // forked from fladdict's code on 2008-12-17
  6. // write as3 code here..
  7. // Study for color generation.
  8. package{
  9.   import flash.display.*
  10.   import flash.events.*
  11.   import flash.geom.*
  12.   public class Sketch02 extends Sprite
  13.   {
  14.     public var bm:Bitmap;
  15.     public var bmd:BitmapData;
  16.     public var particles:Array;
  17.     public var numParticles:int = 100;
  18.     public function Sketch02():void
  19.     {
  20.       bmd = new BitmapData(stage.stageWidth,stage.stageHeight, false, 0x000000);
  21.       bm = new Bitmap(bmd);
  22.       addChild(bm);
  23.       particles = [];
  24.       for(var i:int=0; i<numParticles; i++)
  25.       {
  26.         var prt:Object = createParticle();
  27.         particles.push(prt);
  28.       }
  29.       stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  30.     }
  31.     public function enterFrameHandler(e:Event):void
  32.     {
  33.       var n:int = particles.length;
  34.       for(var i:int=0; i<n; i++)
  35.       {
  36.         var prt:Object = particles[i];
  37.         prt.dv += Math.random()*0.03-0.015;
  38.         prt.direction += prt.dv;
  39.         prt.x += Math.cos(prt.direction) * prt.v;
  40.         prt.y += Math.sin(prt.direction) * prt.v;
  41.         if(prt.x < 0 ){
  42.           prt.x = stage.stageWidth;
  43.         }else if(prt.x > stage.stageWidth){
  44.           prt.x = 0;
  45.         }
  46.         if(prt.y < 0 ){
  47.           prt.y = stage.stageHeight;
  48.         }else if(prt.y > stage.stageHeight){
  49.           prt.y = 0;
  50.         }
  51.         //
  52.         //Add randomness to color
  53.         //
  54.         prt.rad += prt.radV;
  55.         var r:Number = prt.red   * ((1+Math.cos(prt.rad))*0.5);
  56.         var g:Number = prt.green * ((1+Math.cos(prt.rad))*0.5);
  57.         var b:Number = prt.blue  * ((1+Math.cos(prt.rad))*0.5);
  58.         r = Math.round(Math.min(255, Math.max(0,r)));
  59.         g = Math.round(Math.min(255, Math.max(0,g)));
  60.         b = Math.round(Math.min(255, Math.max(0,b)));
  61.         var col:Number = r<<16 | g<<8 | b;
  62.         bmd.setPixel(prt.x, prt.y, col);
  63.       }
  64.     }
  65.     protected function createParticle():Object
  66.     {
  67.         var obj:Object = {};
  68.         //moving setting
  69.         obj.x = stage.stageWidth * 0.8;
  70.         obj.y = stage.stageHeight * 0.5;
  71.         obj.v = 0.4 + Math.random()*0.5;
  72.         obj.direction = Math.random()*Math.PI*2;
  73.         //color setting
  74.         obj.red = Math.random()*255;
  75.         obj.green = Math.random()*obj.red;
  76.         obj.blue = Math.random()*obj.red;
  77.         //oscilator setting
  78.         obj.rad = Math.random()*Math.PI*2;
  79.         obj.radV = 0.1;
  80.         obj.color = getColor();
  81.         obj.dv = (Math.random()-0.5) * 0.03;
  82.         return obj;
  83.     }
  84.     protected function getColor():int
  85.     {
  86.         var r:int = Math.random()*255;
  87.         var g:int = Math.random()*r*0.5 + r*0.5;
  88.         var b:int = Math.random()*g*0.5 + r*0.5;
  89.         return r<<16 | g<<16 | b;
  90.     }
  91.     protected function normRand():Number 
  92.     {
  93.       return (Math.random()+Math.random()+Math.random()+Math.random()+Math.random())/5 - 0.5;
  94.     }
  95.   }
  96. }
noswf
  1. // forked from fladdict's Worm Study04
  2. // forked from fladdict's Worm Study03
  3. // forked from fladdict's Worm Study02
  4. // forked from fladdict's Worm Study01
  5. // forked from fladdict's code on 2008-12-17
  6. // write as3 code here..
  7. // Study for color generation.
  8. package {
  9.   import flash.display.*
  10.   import flash.events.*
  11.   import flash.geom.*
  12.   import flash.filters.BlurFilter;
  13.   
  14.   public class Sketch04_forked extends Sprite
  15.   {
  16.     public function Sketch04_forked():void {
  17.       var bmd:BitmapData = new BitmapData( stage.stageWidth, stage.stageHeight, false, 0xffffff );
  18.       var particles:Array = [];
  19.       var cnt:Number = 0;
  20.       addChild( new Bitmap(bmd) );
  21.       forvar i: int = 0; i < 400; ++ i )
  22.         particles.push( { 
  23.           x: stage.stageWidth * 0.5 
  24.           ,y: stage.stageHeight * 0.5
  25.           ,v: 0.6 + Math.random() * 0.5
  26.           ,direction: Math.random() * Math.PI * 2
  27.           ,color: 0xffffff * Math.random()
  28.           ,dv: ( Math.random() - 0.5 ) * 0.03
  29.           ,tick: function():void {
  30.             withthis ) 
  31.               direction += dv += Math.random() * 0.03 - 0.015
  32.               ,bmd.setPixel( 
  33.                 ( x += Math.cos( direction ) * v ) % stage.stageWidth
  34.                 ,( y += Math.sin( direction ) * v ) % stage.stageHeight
  35.                 ,color )
  36.           }
  37.         } )
  38.       stage.addEventListener( Event.ENTER_FRAME, function( e:Event ):void {
  39.         forvar i:String in particles ) particles[i].tick();
  40.         ++cnt % 6 || bmd.applyFilter(bmd, bmd.rect, new Point(00), new BlurFilter(221) );
  41.       } )
  42.     } // public function Sketch04_forked
  43.   } // public class Sketch04_forked
  44. // package
noswf
Get Adobe Flash Player