Si haces un cast tal vez no te funcione y si funciona no se verá muy elegante, prueba con lo siguiente crea una función en el 1 frame en la cual remuevas el children , pero esta vez agregado al contenedor vacio ya que es mas prolijo , que agregarlo al stage directamente ya que puede a ver más elementos en pantalla y deberás recorrer todos estos objetos o hacer un getChildByName() , teniendo la función y el contenedor estar accesibles a lo largo de la línea de tiempo , así en el frame 2 solo llamas a la función que remueve el SWF :
frame 1 :
Código ActionScript :
import flash.display.Loader;
import flash.events.Event;
import flash.display.MovieClip;
import flash.net.URLRequest;
import flash.events.MouseEvent;
stop();
//contenedor vacio
var _contenedor:MovieClip = new MovieClip();
addChild(_contenedor);
//cargador
var _loader:Loader = new Loader();
//cuando la carga del SWF se ha completada se llamara la funcion onComplete *handler*
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
function onComplete(e:Event):void
{
var swf:MovieClip = e.target.content as MovieClip;
//agregas el SWF al contenedor
_contenedor.addChild(swf);
}
_loader.load(new URLRequest("swfA.swf"));
function removeChildren():void
{
//removemos el SWF
trace("remove function called");
if(_contenedor.numChildren > 0) {
_contenedor.removeChildAt(0);
}
}
//mGoFrame es un mc en la escena que use para poder mover la linea al frame 2 con un simple goto..
mGoFrame.addEventListener(MouseEvent.CLICK, onGoFrame , false, 0, true);
function onGoFrame(e:MouseEvent):void
{
this.gotoAndStop(2);
}
frame 2
Código ActionScript :
removeChildren(); // llamas a la funcion que remueve el children
nota : que en As3 eso de poner codigo por los fotogramas esta demasiado jodido , usa clases y OOP. Que al fin de cuentas se trabaja mejor que en la linea y ayuda demasiado en la logica de las aplicaciones
Jonathan