flash on 2014-11-1
♥0 |
Line 64 |
Modified 2014-11-03 00:10:29 |
MIT License
archived:2017-03-20 07:59:44
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));
}
}
}
}