АргументОшибка:Ошибка № 2025:Предоставленный DisplayObject должен быть дочерним элементом ошибки вызывающего абонента – AS

StackOverflow https://stackoverflow.com/questions/2492036

Вопрос

У меня есть этот фрагмент кода внутри функции, которая проверяет, существует ли объект на сцене, и удаляет его:

public function closeContent(e:MouseEvent):void { 
    removeChild(txt);
    removeChild(ldr.content);
    removeChild(_closeButton);
    container_mc.visible = false;
    statusText.text="";
    if (contains(submitButton)) {
        removeChild(submitButton);
    }
    if (contains(saveinfoButton)) {
        removeChild(saveinfoButton);
    }
}

Я пытался изменить stage с this и root но всегда получаю эту ошибку ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller

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

Решение

Ошибка сигнализирует о том, что вы пытаетесь удалить DisplayObject с removeChild это видимо не дитя DisplayObjectContainer этот код выполняется из.

Один из способов решения этой проблемы — проверить, является ли объект, который вы пытаетесь удалить, на самом деле дочерним элементом контейнера, используя contains.Вы делаете это для некоторых удаляемых объектов (submitButton и saveinfoButton), но не для некоторых других.

Попробуйте обернуть removeChild призывает txt, ldr.content и _closeButton в операторах if, которые используют contains чтобы проверить, являются ли эти DisplayObjectнаходятся в контейнере.

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

Попробуйте с:

e.currentTarget.parent.removeChild(txt);  
e.currentTarget.parent.removeChild(ldr.content)  
etc.

Попробуй это:

public function closeContent(e:MouseEvent):void { 
    removeChild(txt);
    removeChild(ldr.content);
    removeChild(_closeButton);
    container_mc.visible = false;
    statusText.text="";
    if (contains(submitButton)) {
        removeChild(submitButton);
        removeChild(saveinfoButton);
    }
}

Вы можете добавить оба элемента для удаления в условии с помощью &&:

    if (contains(submitButton && saveinfoButton)) {
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top