flash on 2014-11-1

by Omar.Sameh.Shehata
♥0 | Line 64 | Modified 2014-11-03 00:10:29 | MIT License
play

ActionScript3 source code

/**
 * Copyright Omar.Sameh.Shehata ( http://wonderfl.net/user/Omar.Sameh.Shehata )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/kVTN
 */

package {
    import flash.ui.Mouse;
    import flash.display.*;
    import flash.display.Bitmap;
    import flash.events.Event;
    import flash.geom.Matrix;
    import flash.geom.Rectangle;
    import flash.display.BitmapData;
    import flash.text.TextField;
    
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            var mc:MovieClip = new MovieClip();
            
            mc.graphics.beginFill(0x0000FF,1);
            mc.graphics.drawCircle(0,0,50);
            mc.graphics.drawCircle(50,50,50);
            mc.graphics.endFill();
            mc.x = 100; mc.y = 50;
            addChild(mc);
            
           //Draw onto a bitmap
           var bounds:Rectangle = mc.getBounds(mc)
           var bitmapData : BitmapData = new BitmapData(bounds.width, bounds.height, true, 0x00000000);
           var matrix : Matrix = new Matrix();
           matrix.translate( -bounds.x, -bounds.y);
           bitmapData.draw(mc, matrix);
           
           var debugText:TextField = new TextField();
           debugText.text = String(bitmapData.width);
           addChild(debugText);
           
           var X:Number = 0;
           var Y:Number = 0;
           var xArray:Array = [];
           var yArray:Array = [];
           var numOfPixels:Number = bitmapData.width * bitmapData.height;
           
           for(var i:int = 0;i<bitmapData.width;i++){
               for(var j:int = 0;j<bitmapData.height;j++){
                    var color:uint = bitmapData.getPixel(i,j);
                    if(color > 0){
     
                        xArray.push(i);
                        yArray.push(j);
                    }
                   }
               }   

            
            for(i=0;i<xArray.length;i++){
                X += xArray[i];
                }
            X /= xArray.length;
            
            Y = 0;
            for(i=0;i<yArray.length;i++){
                Y += yArray[i];
                }

            Y /= yArray.length;
          
            
            var mc2:MovieClip = new MovieClip()
            addChild(mc2);
            mc2.graphics.clear();
            mc2.graphics.beginFill(0xFF0000,1);
            var offX:Number = bounds.x + mc.x;
            var offY:Number = bounds.y + mc.y;
            mc2.graphics.drawCircle(X+offX,Y+offY,2);
            mc2.graphics.endFill();
            
            addEventListener(Event.ENTER_FRAME,Update);
            function Update(event:Event):void{
                debugText.text = String(bounds.x);
                //debugText.text = String(bitmapData.getPixel(mouseX+bounds.x,mouseY+bounds.y));
                }
             
        }
    }
}