flash on 2014-12-20

by mutantleg
♥0 | Line 60 | Modified 2014-12-20 06:00:48 | 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/uBfS
 */

package {
    import flash.geom.Point;
    import flash.display.BitmapData;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
       
          canvas = new BitmapData(400, 400, false, 0);  
            
          vecChunk = new Vector.<xChunk>(0,false);  
          var k:int;  
          var i:int; var a:xChunk;  
          for (i = 0; i < 400; i+= 40)
          { 
            for (k = 0; k < 400; k+= 40)
            {
               a = new xChunk();
               a.rect.x = k;            a.rect.y = i;
               a.rect.width = 40;       a.rect.height = 40;  
               vecChunk.push(a);
            }//nextk  
          }//nexti
          
          var num:int;
          num = vecChunk.length;
          for (i = 0; i < num; i++)
          {
            a = vecChunk[i];
            canvas.fillRect(a.rect, 0xFFffFFff * Math.random() );  
          }//nexti 
            
            
          stage.addEventListener(Event.ENTER_FRAME, onEnter);  
        }//ctor
        
        public var canvas:BitmapData;
        public var vecChunk:Vector.<xChunk>;
        public var it:int = 0;
        
        public function getChunk():xChunk
        {
            it +=1; if (it >= vecChunk.length) { it = 0; }
            return vecChunk[it];
        }//getchunk
        
        public var dp:Point = new Point();
        public var temp:BitmapData = new BitmapData(40,40,false,0);
        
        public function onEnter(e:Event):void
        {
          graphics.clear();
          graphics.lineStyle(2,0);
   
          var a:xChunk;
          a = getChunk();
          //temp.noise(Math.random()*0xFFffFF, 0, 255);
          temp.perlinNoise(1+Math.random()*16,1+Math.random()*16,2+Math.random()*6, 2+Math.random()*6, true, Math.random()<0.5,Math.random()*7+1, Math.random()<0.2);
          //canvas.fillRect(a.rect, Math.random()*0xFFffFFff);
          dp.x = a.rect.x; dp.y = a.rect.y; canvas.copyPixels(temp, temp.rect, dp);
            
          graphics.beginBitmapFill(canvas,null, false, false);  
          graphics.drawRect(0,0,canvas.width, canvas.height);  
          graphics.endFill();
            
        }//onenter
        
    }//classend
}
import flash.geom.Rectangle;

internal class xChunk
{
  public var rect:Rectangle = new Rectangle(0,0,0,0);  
  public var user:int = -1;
    
}//xchucnk