Argumenterror: Error # 2025: Die mitgelieferte Display muss ein Kind des Anrufers Fehler sein - AS

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

Frage

Ich habe diesen Code-Schnipsel in einer Funktion, dass überprüft, ob ein Objekt auf der Bühne vorhanden ist und entfernt ich:

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);
    }
}

Ich habe versucht, stage mit this und root zu ändern, aber immer diese Fehlermeldung erhalten ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller

War es hilfreich?

Lösung

Die Fehlersignale, dass Sie versuchen, eine DisplayObject mit removeChild zu entfernen, dass offenbar kein Kind des DisplayObjectContainer dieser Code aus ausgeführt wird.

Eine Möglichkeit, dieses Problem zu lösen, ist zu prüfen, ob das Objekt, das Sie entfernen möchten eigentlich ein Kind des Behälters ist mit contains. Sie sind dies der Objekte für einige tun Sie (submitButton und saveinfoButton) entfernt werden soll, nicht aber für einige andere.

Versuchen Sie, die removeChild fordert txt, ldr.content und _closeButton in if-Anweisungen Einwickeln, dass die Verwendung contains zu prüfen, ob diese DisplayObjects im Behälter sind.

Andere Tipps

Versuchen Sie, mit:

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

Versuchen Sie diese:

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);
    }
}

Unter Umständen können Sie beiden Elemente zum Entfernen der bedingten hinzufügen mit &&:

    if (contains(submitButton && saveinfoButton)) {
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top