aura
forked from パーリンノイズ勉強 曲線 (diff: 11)
ActionScript3 source code
/**
* Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/qO0A
*/
package
{
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Point;
import com.greensock.*;
import com.greensock.easing.*;
[SWF(width="465", height="465", backgroundColor="0x000000", frameRate="60")]
public class Main extends Sprite
{
private var bmpd:BitmapData;
private var seed:Number;
private var offset:Array;
public function Main()
{
bmpd=new BitmapData(500, 100, false, 0xFFFFFF);
seed=Math.floor(Math.random() * 10);
offset=[new Point(0, 0), new Point(0, 0)];
addEventListener(Event.ENTER_FRAME, onFrame);
}
private function onFrame(e:Event):void
{
// var mainLines:Sprite = new Sprite();
bmpd.perlinNoise(500, 500, 2, seed, true, true, BitmapDataChannel.RED, false, offset);
offset[0].x += 10;
offset[1].y += 1;
graphics.clear();
var func:Function = function():void
{
drawLine(graphics, 0, bmpd, 0xff0000);
drawLine(graphics, 25, bmpd, 0x00ffff);
drawLine(graphics, 50, bmpd, 0x00ff00);
drawLine(graphics, 75, bmpd, 0x0000ff);
drawLine(graphics, 99, bmpd, 0xffff00);
}
}
private function drawLine(g:Graphics, y:Number, source:BitmapData, color:uint):void
{
g.lineStyle(1, color);
for(var i:int=0 ; i<500 ; i+=20)
{
if(i==0) g.moveTo(i, (source.getPixel(i,y)>>16)*1.5);
else g.lineTo(i,(source.getPixel(i,y)>>16)*1.5);
}
g.endFill();
}
}
}