ActionScript 3在点上删除孩子
-
09-10-2019 - |
题
嗨,我是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);
}
不隶属于 StackOverflow