※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!
wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)
joydivision!!
Unknown Pleasures forked from: Unknown Pleasures
- // forked from borealkiss's Unknown Pleasures
- //Note tha project has too many magic numbers,
- //as it was intended to be downsized as much as possile.
- //(i.e., dedicated to The 25 line contest)
- package {
- import flash.display.DisplayObjectContainer;
- import flash.display.Sprite;
- import flash.display.Shape;
- import flash.display.Graphics;
- import flash.display.BitmapData;
- import flash.events.MouseEvent;
- [SWF(width="600",height="600",backgroundColor="0x0")]
- public class Fl025_The25Line extends Sprite{
- private var _bitmapData:BitmapData = new BitmapData(600,100,false,0x0);
- private var _yCrossSection:Number = Math.random()*100;
- public function Fl025_The25Line(){
- var container:Sprite = new Sprite()
- this.addChild(container);
- for (var i:int=0; i<400; i++){
- _bitmapData.perlinNoise(600/5,100/5,5,Math.floor(10*Math.random()+1),true,false,7,true);
- var shape:Shape = new Shape();
- this.draw(shape.graphics,_bitmapData);
- container.addChild(shape);
- shape.y = 600*i/40 + 100;//Tune
- }
- container.scaleX = container.scaleY = 0.5;
- container.x = container.y = 600/2 - container.width/2;
- this.addMask(container);
- }
- protected function draw(g:Graphics,sourceBitmapData:BitmapData):void{
- g.lineStyle(0,0xFFFFFF);
- //var y:int = _yCrossSection;
- var y:int = 37;
- g.beginFill(0x0);
- g.moveTo(0,0)
- for (var x:int=0; x<sourceBitmapData.width; x++) g.lineTo( x,-1*getHeight(x,y,sourceBitmapData) );
- g.lineTo(x,0);
- g.endFill();
- }
- protected function addMask(target:DisplayObjectContainer):void{
- var margin:Number = 5;//Tune
- var mask:Sprite = new Sprite();
- this.addChild(mask);
- mask.graphics.beginFill(0x00FFFF,0.5);
- mask.graphics.drawRect(0,0,target.width - margin,target.height - margin);
- mask.graphics.endFill();
- mask.x = mask.y = 600/2 - mask.width/2;
- target.mask = mask;
- }
- //will not be counted as a line
- protected function getHeight(x:int,y:int,sourceBitmapData:BitmapData):Number{
- //These must be tuned.
- var offsetY:Number = 50;//Tune
- var amplitude:Number = 10;//Tune
- var decay:Number = 0.4;//Tune
- var color:uint = sourceBitmapData.getPixel(x,y);
- var r:Number = color >> 16;
- var numerator:Number = amplitude*(Math.exp(r/(decay*255)) - 1);
- var dumper:Number = 1e-4;//Tune
- var denominator:Number = dumper*Math.pow(x-(sourceBitmapData.width/2),2) + 1;
- return numerator / denominator + offsetY;
- }
- }
- }
Unknown Pleasures forked from: Unknown Pleasures
- // forked from borealkiss's Unknown Pleasures
- package {
- import flash.display.DisplayObjectContainer;
- import flash.display.Sprite;
- import flash.display.Shape;
- import flash.display.Graphics;
- import flash.display.BitmapData;
- import flash.events.MouseEvent;
- [SWF(width="600",height="600",backgroundColor="0x0")]
- public class Fl025_The25Line extends Sprite{
- private var _bitmapData:BitmapData = new BitmapData(600,100,false,0x0);
- private var _yCrossSection:Number = Math.random()*100;
- public function Fl025_The25Line(){
- var container:Sprite = new Sprite()
- this.addChild(container);
- for (var i:int=0; i<60; i++){
- _bitmapData.perlinNoise(600/5,100/5,5,Math.floor(10*Math.random()+1),true,false,7,true);
- var shape:Shape = new Shape();
- this.draw(shape.graphics,_bitmapData);
- container.addChild(shape);
- shape.y = 600*i/60 + 100;//Tune
- }
- container.scaleX = 0.2;
- container.scaleY = 0.25
- container.x = container.y = 600/2 - container.width/2;
- this.addMask(container);
- }
- protected function draw(g:Graphics,sourceBitmapData:BitmapData):void{
- g.lineStyle(0,0xbbbbbb);
- //var y:int = _yCrossSection;
- var y:int = 37;
- g.beginFill(0x0);
- g.moveTo(0,0)
- for (var x:int=0; x<sourceBitmapData.width; x++) g.lineTo( x,-1*getHeight(x,y,sourceBitmapData) );
- g.lineTo(x,0);
- g.endFill();
- }
- protected function addMask(target:DisplayObjectContainer):void{
- var margin:Number = 5;//Tune
- var mask:Sprite = new Sprite();
- this.addChild(mask);
- mask.graphics.beginFill(0x00FFFF,0.5);
- mask.graphics.drawRect(0,0,target.width - margin,target.height - margin);
- mask.graphics.endFill();
- mask.x = mask.y = 600/2 - mask.width/2;
- target.mask = mask;
- }
- //will not be counted as a line
- protected function getHeight(x:int,y:int,sourceBitmapData:BitmapData):Number{
- //These must be tuned.
- var offsetY:Number = 50;//Tune
- var amplitude:Number = 10;//Tune
- var decay:Number = 0.4;//Tune
- var color:uint = sourceBitmapData.getPixel(x,y);
- var r:Number = color >> 16;
- var numerator:Number = amplitude*(Math.exp(r/(decay*255)) - 1);
- var dumper:Number = 1e-4;//Tune
- var denominator:Number = dumper*Math.pow(x-(sourceBitmapData.width/2),2) + 1;
- return numerator / denominator + offsetY;
- }
- }
- }
notice: 


