In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

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;
Get Adobe Flash player
by ma_wa 21 May 2012
    Embed
/**
 * 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 ) ;
            } 
            
              
        }
    }
}