Saludos,
para poder obtener las medidas del swf que cargas externamente y usar un preloader independiente al swf en cuestión, debe usar loadClip en vez de loadMovie. loadClip te permite obtener el progreso de carga del swf además de las medidas de este.
Pongamoslo en práctica:
Código ActionScript :
// Creamos un clip donde se vaya a cargar el contenido:
var contenido:MovieClip = this.createEmptyMovieClip("contenido",this.getNextHighestDepth());
// a continuación creamos un MovieClipLoader, que es una clase que permite cargar tanto swf como imágenes:
var cargador:MovieClipLoader = new MovieClipLoader();
var cargadorListener:Object = new Object(); // cargadorListener es un objeto que escucha la progresión de carga del archivo que vamos a cargar
cargador.addListener(cargadorListener); // le añadimos el objeto que "escucha" al cargador:
cargadorListener.onLoadProgress = function (clip, cargado, total){ // Ecuchamos la progresión de carga, aquí actualizaremos el preloader
var porcentaje:Number = Math.floor((100 * cargado) / total); // esto nos da el porcentaje que llevamos cargado
trace(porcentaje) // en vez de trazar el resultado, puedes llamar una función que actualize el preloader, por ejemplo:
actualizarPreloader(porcentaje);
}
cargadorListener.onLoadInit = function (clip){ // una vez cargado
trace("Se ha cargado el swf")
trace("els swf cargado mide: "+clip._width+" de ancho y "+clip._height+" de alto");
clip._x = Stage.width/2 - clip._width/2; // centramos el clip horizontalmente
clip._y = Stage.height/2 - clip._height/2; // centramos el clip verticalmente
esconderPreloader(); // ahora podemos esconder el preloader.
// Ten en cuenta que clip es lo mismo que el clip contenido
}
cargador.loadClip("url/delswf/que_vas_a_cargar.swf", contenido) // "url del swf" y movieClip donde se cargará el swf
Espero te sirva,
Saludos