flash on 2011-12-8
import flash.*;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.geom.ColorTransform;
import flash.filters.BitmapFilterQuality;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.system.LoaderContext;
import flash.net.URLRequest;
import net.hires.debug.Stats;
import frocessing.display.F5MovieClip2DBmp;
import frocessing.math.PerlinNoise;
/**
* Copyright ma_wa ( http://wonderfl.net/user/ma_wa )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/vJZG
*/
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.display.Shape;
//import flash.*;
//import flash.text.TextField;
//import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
//import flash.display.Sprite;
//import flash.display.Bitmap;
//import flash.display.BitmapData;
//import flash.display.Loader;
//import flash.display.LoaderInfo;
import flash.filters.*;
import flash.filters.BlurFilter;
//import flash.geom.ColorTransform;
//import flash.filters.BitmapFilterQuality;
//import flash.geom.Point;
//import flash.geom.Rectangle;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
//import flash.system.LoaderContext;
//import flash.net.URLRequest;
import flash.utils.Timer;
import flash.utils.getTimer;
//import net.hires.debug.Stats;
import frocessing.core.*;
import frocessing.math.*;
//import frocessing.display.F5MovieClip2DBmp;
//import frocessing.math.PerlinNoise;
[SWF(width = "500", height = "500", backgroundColor = "0xec9900", frameRate = "30")]
public class FlashTest extends Sprite {
public function FlashTest() {
var tf:TextField = new TextField();
var tf2:TextField = new TextField();
var tf3:TextField = new TextField();
var circle:Shape = new Shape();
var perlin:PerlinNoise = new PerlinNoise();
circle.graphics.beginFill( 0xff9933 , 1 );
tf.defaultTextFormat = new TextFormat("_sans",14, 000000);
tf2.defaultTextFormat = new TextFormat("_sans",14, 000000);
tf3.defaultTextFormat = new TextFormat("_sans",14, 000000);
//tf.autoSize = TextFieldAutoSize.CENTER;
var filter1:GlowFilter = new GlowFilter(000000, 5.0, 6.0, 6.0, 2, 1, false, false);
//var filter2:GradientGlowFilter = new GradientGlowFilter();
var filter3:BlurFilter = new BlurFilter(1.0, 1.0, 10);
var lerpX:Number = 0;
var lerpY:Number = 0;
tf.filters = [filter1,filter3];
var _txt:String;
//var kreis_mc:MovieClip = new Kreis();
tf.x = 50;
tf.y = stage.stageHeight/2;
tf2.x = 10;
tf2.y = 10;
tf3.x = 150;
tf3.y = 10;
tf.text = "";
tf2.text = "text";
tf3.text = "text";
this.addChild(tf);
this.addChild(tf2);
this.addChild(tf3);
//circle.graphics.drawCircle( 50 ,2, 40 );
//this.addChild(circle);
var speedX:Number = 0.1;
var speedY:Number = 0.1;
var noiseX:Number = Math.random()*stage.stageWidth+0;
var noiseY:Number = Math.random()*stage.stageHeight+0;
var stepX:Number = 1;
var stepY:Number = 1;
//var xinc:Number = Math.random()*0.00003+0.000005;
//var yinc:Number = Math.random()*0.00003+0.000005;
var xinc:Number = 0.003;
var yinc:Number = 0.003;
var noiseXfunct:Number = 0;
var noiseYfunct:Number = 0;
var timer:Timer = new Timer(1,0);
timer.addEventListener(TimerEvent.TIMER, loop);
timer.start();
function loop(e:TimerEvent):void {
//for (var i:int; i < 3; i++) {
noiseXfunct = perlin.noise(noiseX);
noiseYfunct = perlin.noise(noiseY);
lerpX = lerp(0,stage.stageWidth,noiseXfunct);
lerpY = lerp(0,stage.stageHeight,noiseYfunct);
noiseX += xinc;
noiseY += yinc;
tf.x = lerpX;
tf.y = lerpY;
tf2.x = lerpX;
tf2.y = lerpY;
tf3.x = lerpX;
tf3.y = lerpY;
//stepX *= speedX+noiseX;
//stepY *= speedY+noiseY;
/*if (tf.x < 0 || tf.x + tf.width >= stage.stageWidth) {
stepX *= -5;
//xinc *= -1;
//noiseX = (Math.random()*2-0.1); // i need a 1-D perlin Noise function!!
//lerpX -=10;
//noiseX *= -1;
//timer.removeEventListener(Event.ENTER_FRAME, loop);
//timer.stop();
}
if (tf.y < 0 || tf.y + tf.textHeight >= stage.stageHeight) {
//tf.x = stage.stageWidth - tf.width/2;
stepY *= -5;
//yinc *= -1;
//noiseY = (Math.random()*2-0.1);
//timer.removeEventListener(Event.ENTER_FRAME, loop);
//timer.stop();
}*/
tf.text = Math.round(lerpX).toString();
//tf2.text = noiseXfunct.toString();
//tf3.text = noiseYfunct.toString();
tf.appendText(" "+Math.round(lerpY).toString());
//tf.x += stepX*1;
//tf.y += stepY*1;
//circle.scaleX += stepX*0.01;
//trace(noiseX);
e.updateAfterEvent();
}
/*const noise:Function = function( xValue:Number ):Number
{
xValue = (xValue<<13) ^ xValue;
return ( 1.0 - ( (xValue * (xValue * xValue * 15731 + 789221) + 1376312589) & 0x7fffffff ) / 1073741824.0) ;
}
const smoothNoise:Function = function( noiseXValue:Number ):Number
{
return ( noise(noiseXValue)/2 + noise(noiseXValue-1)/4 + noise(noiseXValue+1)/4) ;
}
*/
const lerp:Function = function( start:Number, end:Number, amount:Number ):Number
{
if ( start == end )
{
return start ;
}
return ( ( 1 - amount ) * start ) + ( amount * end ) ;
}
}
}
}