Hallo,
habe im Internet diese tolle Variante aufgetrieben und zu überprüfen ob sich die Shapes (nicht die Rechtecke drumerum) von Movieclip-Instanzen überlagern:
import flash.display.BitmapData;
import flash.geom.Point;
MovieClip.prototype.pixelHitTest = function(mc:MovieClip, threshold:Number):Boolean {
threshold = threshold ? threshold : 1;
var thisBitmap:BitmapData = new BitmapData(this._width, this._height, true, 0);
thisBitmap.draw(this);
var mcBitmap:BitmapData = new BitmapData(mc._width, mc._height, true, 0);
mcBitmap.draw(mc);
if(thisBitmap.hitTest(new Point(this._x, this._y), threshold, mcBitmap, new Point(mc._x, mc._y), threshold)) {
return true;
}
return false;
}
Die Methode funktioniert solange sich die beiden Movieclips in der selben Verschachtelungsebene befinden. Beispielsweise beide in _root. Ist einer der beiden allerdings tiefer verschachtelt, zum Beispiel _root.mein_mc.anderer_mc so funktioniert die Methode nicht mehr. Habe relative und absolute Pfadangaben probiert, die führen zum selben Ergebnis.
Vielen Dank im Voraus!