flash on 2013-1-21

by mutantleg
♥0 | Line 48 | Modified 2013-01-21 21:30:27 | MIT License
play

ActionScript3 source code

/**
 * Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/1Hbd
 */

package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
      
          public var ax:Number = 200;
          public var ay:Number = 200;
          public var bx:Number = 300;
          public var by:Number = 300;
      
          public var bm:BitmapData;
      
        public function FlashTest() {
            
            bm = new BitmapData(64,64,false,0);
            bm.perlinNoise(3,3,4,4,true,true,7);
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        
        
        public function onEnter(e:Event):void
        {
            bx = mouseX;
            by = mouseY;
         
           graphics.clear();
           graphics.lineStyle(1,0);
           
           graphics.moveTo(ax,ay);
           graphics.lineTo(bx,by);
           
           var nx:Number;
           var ny:Number;
           var mag:Number;
           nx = ax-bx;
           ny = ay-by;
              
            mag = Math.sqrt(nx*nx+ny*ny);
            if (mag == 0) { mag = 0.00000001;}
            nx /= mag;
            ny /= mag;
            
            var kx:Number;
            var ky:Number;
            
            nx *= 16;
            ny *= 16;
            
            kx = -ny;
            ky = nx;
            
            graphics.beginBitmapFill(bm);
            
            graphics.moveTo(ax+kx,ay+ky);
            graphics.lineTo(bx+kx,by+ky);
            graphics.lineTo(bx-kx,by-ky);
            graphics.lineTo(ax-kx, ay-ky);
            graphics.lineTo(ax+kx, ay+ky);  
              
            
        }//onenter
        
    }//classend
}