Hola:
Efectivamente esa era mi intencion y creo que lo has entendido, pero sigue sin funcionar. Te comento primero el código que tengo y posteriormente intentaré detallar al máximo lo que me hace y lógicamente el error.
Codigo que tengo en estos momentos:
Código ActionScript :
var imagen:String = "imagen.jpg";
function CargarImagen() {
var loader:Loader = new Loader();
listadoListeners(loader.contentLoaderInfo);
var peticion:URLRequest = new URLRequest(imagen);
loader.load(peticion);
}
function listadoListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
function completeHandler(event:Event):void {
addChild(event.target.content);
while (o_boton.i_mc_imagen.numChildren > 0) {
trace ("entro");
o_boton.i_mc_imagen.removeChildAt(0);
};
o_boton.i_mc_imagen.addChild(DisplayObject(event.target.content));
}
CargarImagen(); //cargo la nueva imagen para el botón
main_menu.addChild(o_boton); //añado el nuevo botón con todos los cambios aplicados
Que sucede?
el botón o_boton es añadido al stage inicialmente con la imagen de la clase. Durante un instante se pone la "imagen.jpg" que le hemos indicado que ponga, pero acto seguido, vuelve otra vez la imagen que contiene la clase.
con el while funciona exactamente igual que sin él. Tambien indico que entro dentro del while 1 vez, por lo que antes si que tiene total lógica lo que comentabas, pero algo sigue mal.
Nota (para mi, un total principiante de flash as3), el "addChild(event.target.content);" si no pongo lo de abajo de él, si que se añade al stage, pero si está "o_boton.i_mc_imagen.addChild(DisplayObject(event.target.content));" no lo añade! para mi curioso! lo digo por si ayuda con el problema que existe