Pregunta

Hola soy nuevo en AS3 y me preguntaba ¿cuál es la mejor manera de sacar a un niño en un punto. He intentado

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

sin embargo, que regresó ArgumentError: Error # 2025:. El DisplayObject suministrado debe ser un hijo de la persona que llama

alguna sugerencia?

¿Fue útil?

Solución

El método getObjectsUnderPoint () devuelve un vector de DisplayObjects que no necesariamente sean hijos directos de su objeto Holder, pueden ser nietos o abuelos nietos, etc ...

Se podría establecer un condicional como esto:

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

Holder.contains no filtra nada, ya que volverá a los nietos, así ... Mi error!

Otros consejos

No sé qué versión Patricks no funciona. Aquí es una solución alternativa (código feo) utilizando el padre del clip.

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

for each(var clip : DisplayObject in clips)
{
    clip.parent.removeChild(clip);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top