※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

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


FAVORITE BY
:
joydivision!!
FORKED
  1. // forked from borealkiss's Unknown Pleasures
  2. //Note tha project has too many magic numbers,
  3. //as it was intended to be downsized as much as possile.
  4. //(i.e., dedicated to The 25 line contest)
  5. package {
  6.     import flash.display.DisplayObjectContainer;
  7.     import flash.display.Sprite;
  8.     import flash.display.Shape;
  9.     import flash.display.Graphics;
  10.     import flash.display.BitmapData;
  11.     import flash.events.MouseEvent;
  12.     [SWF(width="600",height="600",backgroundColor="0x0")]
  13.     public class Fl025_The25Line extends Sprite{
  14.         private var _bitmapData:BitmapData = new BitmapData(600,100,false,0x0);
  15.         private var _yCrossSection:Number = Math.random()*100;
  16.         
  17.         public function Fl025_The25Line(){
  18.             var container:Sprite = new Sprite()
  19.             this.addChild(container);
  20.             for (var i:int=0; i<400; i++){
  21.                 _bitmapData.perlinNoise(600/5,100/5,5,Math.floor(10*Math.random()+1),true,false,7,true);
  22.                 var shape:Shape = new Shape();
  23.                 this.draw(shape.graphics,_bitmapData);
  24.                 container.addChild(shape);
  25.                 shape.y = 600*i/40 + 100;//Tune
  26.             }
  27.             container.scaleX = container.scaleY = 0.5;
  28.             container.x = container.y = 600/2 - container.width/2;
  29.             this.addMask(container);
  30.         }
  31.         
  32.         protected function draw(g:Graphics,sourceBitmapData:BitmapData):void{
  33.             g.lineStyle(0,0xFFFFFF);
  34.             //var y:int = _yCrossSection;
  35.             var y:int = 37;
  36.             g.beginFill(0x0);
  37.             g.moveTo(0,0)
  38.             for (var x:int=0; x<sourceBitmapData.width; x++) g.lineTo( x,-1*getHeight(x,y,sourceBitmapData) );
  39.             g.lineTo(x,0);
  40.             g.endFill();
  41.         }
  42.         
  43.         protected function addMask(target:DisplayObjectContainer):void{
  44.             var margin:Number = 5;//Tune
  45.             var mask:Sprite = new Sprite();
  46.             this.addChild(mask);
  47.             mask.graphics.beginFill(0x00FFFF,0.5);
  48.             mask.graphics.drawRect(0,0,target.width - margin,target.height - margin);
  49.             mask.graphics.endFill();
  50.             mask.x = mask.y = 600/2 - mask.width/2;
  51.             target.mask = mask;
  52.         }
  53.         
  54.         //will not be counted as a line
  55.         protected function getHeight(x:int,y:int,sourceBitmapData:BitmapData):Number{
  56.             //These must be tuned.
  57.             var offsetY:Number = 50;//Tune
  58.             var amplitude:Number = 10;//Tune
  59.             var decay:Number = 0.4;//Tune
  60.             var color:uint = sourceBitmapData.getPixel(x,y);
  61.             var r:Number = color >> 16;
  62.             var numerator:Number = amplitude*(Math.exp(r/(decay*255)) - 1);
  63.             
  64.             var dumper:Number = 1e-4;//Tune
  65.             var denominator:Number = dumper*Math.pow(x-(sourceBitmapData.width/2),2) + 1;
  66.             return numerator / denominator + offsetY;
  67.         }
  68.     }
  69. }
noswf
  1. // forked from borealkiss's Unknown Pleasures
  2. package {
  3.     import flash.display.DisplayObjectContainer;
  4.     import flash.display.Sprite;
  5.     import flash.display.Shape;
  6.     import flash.display.Graphics;
  7.     import flash.display.BitmapData;
  8.     import flash.events.MouseEvent;
  9.     [SWF(width="600",height="600",backgroundColor="0x0")]
  10.     public class Fl025_The25Line extends Sprite{
  11.         private var _bitmapData:BitmapData = new BitmapData(600,100,false,0x0);
  12.         private var _yCrossSection:Number = Math.random()*100;
  13.         
  14.         public function Fl025_The25Line(){
  15.             var container:Sprite = new Sprite()
  16.             this.addChild(container);
  17.             for (var i:int=0; i<60; i++){
  18.                 _bitmapData.perlinNoise(600/5,100/5,5,Math.floor(10*Math.random()+1),true,false,7,true);
  19.                 var shape:Shape = new Shape();
  20.                 this.draw(shape.graphics,_bitmapData);
  21.                 container.addChild(shape);
  22.                 shape.y = 600*i/60 + 100;//Tune
  23.             }
  24.             container.scaleX = 0.2;
  25.                         container.scaleY = 0.25
  26.             container.x = container.y = 600/2 - container.width/2;
  27.             this.addMask(container);
  28.         }
  29.         
  30.         protected function draw(g:Graphics,sourceBitmapData:BitmapData):void{
  31.             g.lineStyle(0,0xbbbbbb);
  32.             //var y:int = _yCrossSection;
  33.             var y:int = 37;
  34.             g.beginFill(0x0);
  35.             g.moveTo(0,0)
  36.             for (var x:int=0; x<sourceBitmapData.width; x++) g.lineTo( x,-1*getHeight(x,y,sourceBitmapData) );
  37.             g.lineTo(x,0);
  38.             g.endFill();
  39.         }
  40.         
  41.         protected function addMask(target:DisplayObjectContainer):void{
  42.             var margin:Number = 5;//Tune
  43.             var mask:Sprite = new Sprite();
  44.             this.addChild(mask);
  45.             mask.graphics.beginFill(0x00FFFF,0.5);
  46.             mask.graphics.drawRect(0,0,target.width - margin,target.height - margin);
  47.             mask.graphics.endFill();
  48.             mask.x = mask.y = 600/2 - mask.width/2;
  49.             target.mask = mask;
  50.         }
  51.         
  52.         //will not be counted as a line
  53.         protected function getHeight(x:int,y:int,sourceBitmapData:BitmapData):Number{
  54.             //These must be tuned.
  55.             var offsetY:Number = 50;//Tune
  56.             var amplitude:Number = 10;//Tune
  57.             var decay:Number = 0.4;//Tune
  58.             var color:uint = sourceBitmapData.getPixel(x,y);
  59.             var r:Number = color >> 16;
  60.             var numerator:Number = amplitude*(Math.exp(r/(decay*255)) - 1);
  61.             
  62.             var dumper:Number = 1e-4;//Tune
  63.             var denominator:Number = dumper*Math.pow(x-(sourceBitmapData.width/2),2) + 1;
  64.             return numerator / denominator + offsetY;
  65.         }
  66.     }
  67. }
noswf
Get Adobe Flash Player