BitmapData.hitTest 이용 예제(AS 3.0)

function onMovie(e:Event):void {
    var md:MovieClip=MovieClip(ldr.content);

    var pt1:Point=new Point(1,1);
    var pt2:Point;
    var span:int=1;//다음검색 증가분
    trace("span : " + span + " /md.width : " + md.width + " /md.height : " + md.height);
    trace("movieClip dot loading");
    var count:int=0;
    var mcFrame:Number=md.totalFrames;

    for (var f:int=0; f < mcFrame; ++f) {
     count=0;
     var tempArray:Array=new Array;
     md.gotoAndStop(f + 1);
     var bitmap:BitmapData=new BitmapData(md.width,md.height);
     bitmap.draw(md);
     //var newBM:Bitmap = new Bitmap(bitmap);
     for (var i:int=1; i < md.width; i=i + span) {
      for (var j:int=1; j < md.height; j=j + span) {

       pt2=new Point(i,j);
       if (! bitmap.hitTest(pt1,0xff,pt2)) {

        tempArray.push({px:i,py:j});
        count++;
       }
      }
     }
     pos.push(tempArray);
     posLength[f]=count;

     trace("pos[" + f + "].length : " + posLength[f] + "  pos[" + f + "]type : " + typeof pos[f]);
    }
    trace("pos.length : " + pos.length);
    trace("dot loaded");
    framelength=pos.length;
    ldr.unload();
    ldr=null;
    bitmap=null;
    /////
    for (i=0; i<500; ++i) {
     var temp:Array = new Array();
     for (j=0; j<500; ++j) {
      temp.push(0);

     }
     shift.push(temp);
    }
    var vl:int=pos[frame][0].px;
    top.push(0);
    for (i=0; i<posLength[frame]; i++) {
     if (pos[frame][i].px!=vl) {
      vl = pos[frame][i].px;
      top.push(i);
     }
    }

       Start();
   }
function Start():void {
    //그리기시작 ////////////////////////////
   frameIv=setInterval(movieplay,framerate);
   this.addEventListener(Event.ENTER_FRAME,vary);
}