flash on 2015-10-6

by mutantleg
♥0 | Line 49 | Modified 2015-10-06 05:01:34 | 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/21LC
 */

package {
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.events.Event;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
         
         canvas = new BitmapData(460, 460, false, 0);
       
         back = new BitmapData(460, 460, false, 0);
         back.perlinNoise(15,45,2,6,true,true,2,true);
         back.fillRect(new Rectangle(64,64, 128,128),0);
         
          stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var canvas:BitmapData;
        public var back:BitmapData;
        
        public var tr:Rectangle = new Rectangle();
        public var dp:Point = new Point();
        
        public var gt:int = 0;
        
        public function onEnter(e:Event):void
        {
            gt+=1;
            
          graphics.clear();
      
          canvas.draw(back);
              

            var ax:Number; var ay:Number;
            ax = stage.mouseX; ay = stage.mouseY;
           
            
             tr.width=64;
             tr.height=1;
             
           var i:int; var num:int;
           /*
           for(i=0;i<64;i+=1)
           {
             tr.width = Math.sin((i/64)*6.28)*32;
             tr.x = ax - tr.width*0.5; 
             tr.y = ay+i;
              dp.x = ax+Math.sin((i+gt)*0.4)*2 - tr.width*0.5;
              dp.y = ay+i-1;
             canvas.copyPixels(canvas, tr, dp);
              
           }//nexti
          */
          num=64; //128; //64;
          num = 128;
          ay -= num*0.5;
           for(i=0;i<num;i+=1)
           {
             tr.width = Math.sin((i/(num*2))*6.28)*num; //64;
             tr.x = ax - tr.width*0.5; 
             tr.y = ay+i;
              dp.x = ax+Math.sin((i+gt)*0.2)*3 - tr.width*0.5;
              dp.y = ay+i-1;
              
             canvas.copyPixels(canvas, tr, dp);
              
           }//nexti
          
      
          canvas.unlock();
          canvas.lock();
          
         graphics.beginBitmapFill(canvas);
          graphics.drawRect(0,0,460,460);
         graphics.endFill();
            
        }//onenter
        
        
        
    }//classend
}