本来是要做检测来实现不规则图形的区域的,检测坐标是在舞台上的坐标,这个和API说的一样,虽然开始的时候觉得可能是自己的坐标有问题,但经过反复的论证和试验,发现坐标没问题。代码如下
var p:Point = _cityContainer.localToGlobal(new Point(x, y));
var len:int = _warFogMc.numChildren;
for (var k:int = 0; k < len; k++)
{
var child:DisplayObject = _warFogMc.getChildAt(k);
if (child.hitTestPoint(p.x, p.y, true))
{
trace("---DO_AreaOpen---", x, y, k, child);
_warFogMc.removeChild(child);
return;
}
}
事实上上面的代码应该是成功的。但是发现只有在可见的区域范围内才是有效的。经过研究和询问大牛,终于确认,是舞台范围的限制了。但是当我把限制可见区域的mask去掉以后,发现问题没了。但是又不能不用mask遮罩,最后和同事讨论决定用getObjectsUnderPoint来试试。