ActionScript 3 Удалить ребенка в точке
-
09-10-2019 - |
Вопрос
Привет, я новичок в 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);
}
Не связан с StackOverflow