Tnx joshtynjala for the repply! I ovverided the default hitTest function that only check for bound to the one above (from another post) and it works like magic!
override public function hitTest(localPoint:Point):DisplayObject {
if (!_alphaHit) { return super.hitTest(localPoint); }
if (!getBounds(this).containsPoint(localPoint)) { return null; }
//
var painter:Painter = Starling.current.painter;
var state:RenderState = painter.state;
var context:Context3D = painter.context;
//
this.localToGlobal(localPoint, hitPoint);
parent.globalToLocal(hitPoint, hitPoint);
//
painter.pushState();
state.setProjectionMatrix(hitPoint.x, hitPoint.y, 1, 1, stage.stageWidth, stage.stageHeight, stage.cameraPosition);
state.transformModelviewMatrix(this.transformationMatrix);
painter.clear(0xf203b4, 1);
hit_bitmap.setPixel32(0, 0, 0);
super.render(painter);
painter.finishMeshBatch();
context.drawToBitmapData(hit_bitmap);
painter.popState();
if (hit_bitmap.getPixel32(0, 0) != 0xfff203b4) {
return this;
} else {
return null;
}
}