Вопрос

Привет, я новичок в AS3, и мне было интересно, как лучше убрать ребенка в точке. Я попытался

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

Однако, что вернул ArumentError: ошибка # 2025: прилагаемый DisplayObject должен быть ребенком абонента.

какие-либо предложения?

Это было полезно?

Решение

Метод GetobjectsunderPoint () вернет массив DisplayObjects, которые могут не обязательно быть прямым детьми вашего объекта вашего держателя, они могут быть грандиозными детьми или великими детьми и т. Д.

Вы могли бы установить подобное условное:

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

Держатель. Контроль не фильтрует ничего, так как он тоже вернет внуки ... Моя ошибка!

Другие советы

Я не знаю, почему версия PATRICKS не работает. Вот альтернативный (уродливый код) решение с использованием родителя клипа.

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

for each(var clip : DisplayObject in clips)
{
    clip.parent.removeChild(clip);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top