嗨,我是AS3的新手,我想知道什么是去除孩子的最佳方法是什么。我试过了

Holder.removeChild(Holder.getObjectsUnderPoint(new Point(exampleX, exampleY))[0]);

但是,返回的参数:错误#2025:所提供的DisplayObject必须是呼叫者的孩子。

有什么建议么?

有帮助吗?

解决方案

GetObjectsunderpoint()方法将返回一系列可能是您的持有人对象的直接子女,它们可能是盛大的孩子或大孩子等。

您可以设置这样的条件:

var objects:Array =  Holder.getObjectsUnderPoint( yourPoint );
for each( var child:DisplayObject in objects )
{
    if( child.parent == Holder )
       Holder.removeChild( child ) ;
}

holder.contains不会过滤任何东西,因为它也会返回孙子孙女……我的错误!

其他提示

我不知道为什么Patricks版本不起作用。这是使用剪辑的母体的替代性(丑陋代码)解决方案。

var clips : Array =  _container.getObjectsUnderPoint(_point);

for each(var clip : DisplayObject in clips)
{
    clip.parent.removeChild(clip);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top