Pregunta

Me estoy poniendo un Flex ArgumentError: Error # 2025:. El DisplayObject suministrado debe ser un hijo de la persona que llama

Esto es lo que tengo:

a) que establece la variable lastButtonClicked hasta el último botón que se ha hecho clic en la aplicación principal.

private var lastButtonClicked:DisplayObject;

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

    }

b) que tiene un TitleWindow abierto y hay un sí / no hay opción. Tengo un evento personalizado devuelve la respuesta a la aplicación principal.

c) En la aplicación principal, que estoy tratando de eliminar lastButtonClicked basa en los datos enviados por el evento personalizado. Por lo tanto, mi problema es en esta función. Por alguna razón, no me deja quitar el botón. Recibo el error 2025 en su lugar.

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

¿Alguna sugerencia sobre cómo depurar este problema? El evento personalizado está disparando bien. ¿Cómo puedo solucionar esta línea: removeChild (lastButtonClicked); ?

Edit: He intentado hbox1.removeChild (lastButtonClicked) y funcionó. El botón adecuado fue retirado de la aplicación principal. El problema es que no todos los botones están en hBox1. Tengo otros hboxes. Por lo tanto, tengo que encontrar una manera más genérica en lugar de utilizar hBox1 en el comunicado. Me this.removeChild cansado (lastButtonClicked), pero no funcionó. Gracias.

Gracias.

-Laxmidi

¿Fue útil?

Solución 2

Lo resuelto. Hice una variable y la ponga a los padres de lastButtonClicked.

private var myparent: Objeto; myparent = lastButtonClicked.parent;

A continuación, en mi answerHandler escribí:

myParent.removeChild (lastButtonClicked);

Gracias.

-Laxmidi

Otros consejos

Por lo que entiendo, parece que usted tiene los botones en una TitleWindow y el controlador de eventos en la aplicación. Es posible que desee llamar removeChild para la instancia de TitleWindow (por ejemplo: titleWindow.removeChild(lastButtonClicked)) en lugar de la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top