Frage

Ich erhalte ein Flex Argument: Error # 2025:. Die mitgelieferte Display ein Kind des Anrufers sein muss,

Das ist, was ich habe:

a) Ich habe die Variable auf den letzten Knopf lastButtonClicked, die in der Haupt-App geklickt wurde.

private var lastButtonClicked:DisplayObject;

    private function lastButtonClickedFunction(event:MouseEvent):void {
        lastButtonClicked = event.currentTarget as DisplayObject;

    }

b) Ich habe einen Titlewindow geöffnet und es gibt eine Ja / Nein-Option. Ich habe ein benutzerdefiniertes Ereignis die Antwort auf den Haupt-App zurückzukehren.

c) In der Haupt app, ich versuche lastButtonClicked auf den Daten zu entfernen Basis des benutzerdefinierten Ereignis gesendet. So ist mein Problem in dieser Funktion. Aus irgendeinem Grund wird es lassen Sie mich die Taste nicht entfernen. Ich bekomme Fehler 2025 statt.

private function answerHandler( event:AnswerEvent ):void {
        if(event.answerCorrect == true){
            removeChild(lastButtonClicked);
        }
    }

Haben Sie Vorschläge, wie dieses Problem zu debuggen? Das benutzerdefinierte Ereignis feuert in Ordnung. Wie behebe ich diese Zeile: removeChild (lastButtonClicked); ?

Edit: Ich habe versucht, hbox1.removeChild (lastButtonClicked) und es funktionierte. Die richtige Taste wurde von dem Haupt-App entfernt. Das Problem ist, dass nicht alle Tasten sind in hBox1. Ich habe andere HBoxen bekam. Also, ich brauche stattdessen eine allgemeinere Art und Weise, um herauszufinden, von hBox1 in der Anweisung. Ich müde this.removeChild (lastButtonClicked), aber es hat nicht funktioniert. Danke.

Danke.

-Laxmidi

War es hilfreich?

Lösung 2

ich es gelöst. Ich habe eine Variable, und legen Sie es auf dem übergeordneten lastButtonClicked.

private var myParent: Object; myParent = lastButtonClicked.parent;

Da ist in meinem answerHandler schrieb ich:

myParent.removeChild (lastButtonClicked);

Danke.

-Laxmidi

Andere Tipps

Von dem, was ich verstehe, scheint es, wie Sie auf die Tasten in einem TitleWindow und die Event-Handler in der Anwendung haben. Sie wollen wahrscheinlich removeChild für die Instanz von TitleWindow nennen (zB: titleWindow.removeChild(lastButtonClicked)) und nicht von der Anwendung ab.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top