no es tan difícil. A ver un ejemplo sencillito:
- te creas un clip de película que tenga forma de barra horizontal con la longitud deseada cuando la carga es al 100%, llámale por ejemplo
barra a la instancia. Para que quede mejor la animación, asegúrate mediante la herramienta tranformar que el punto de registro blanco esté a la izquierda. Así cuando la barra empiece a alargarse, lo hará desde su extremo izquierdo y no desde el centro por defecto.
- En la misma línea de tiempo, puedes crear el clip contenedor de tu película a cargar, tanto en tiempo de edición como de ejecución. Si lo haces en tiempo de ejecución, sería crear un clip vacío, colocarlo donde desees en el escenario, y cargarle la película swf externa (aquí asumo que la carga se realiza en la línea de tiempo principal:
Código:
_root.createEmptyMovieClip("contenedor", 10); // La profundidad 10 suele ser habitual, cuanto mayor, más por encima estará un mc de otro, y cuidado de no usar iguales profundidades para diferentes mc's a menos que quieras sustituir uno por otro.
- Posicionas el clip vacío donde quieras:
Código:
contenedor._x = 50;
contenedor._y = 50;
- Controlas mediante un manejador de evento onLoad, las acciones una vez cargada toda la película:
Código:
contenedor.onLoad = function(exito) {
if (exito) {
// Acción que desees realizar, por ejemplo, hacer invisible la barra de carga:
barra._visible = false;
} else {
// Avisar de algún modo del error de carga de la película
}
}
- Igualmente, tienes que tener un control sobre la barra de progreso de forma que cambie según el proceso de carga de la película. Puedes elegir el evento EnterFrame y su manejador de eventos onEnterFrame, que es el más usado habitualmente, aunque también se podría usar un intervalo de tiempo especificado:
Código:
barra.onEnterFrame = function() {
var total:Number = contenedor.getBytesTotal(); // Bytes totales a cargar
var actuales:Number = contenedor.getBytesLoaded(); // Bytes cargados actualmente
var porcentaje:Number;
// Escalar horizontalmente la barra de progreso en proporción con el porcentaje de carga:
porcentaje = (actuales/total) * 100;
this._xscale = porcentaje; // La barra se contrae horizontalmente conforme al porcentaje
// también puedes usar algún campo de texto dinámico para reflejar el porcentaje numérico de carga, o el nro de bytes cargados...
};
- Por último debes poner en marcha todo esto con la acción que hace cargar tu película externa en el contenedor:
Código:
contenedor.loadMovie("miPeliculaExt.swf"); // Aquí asumo que se encuentra en la misma carpeta que la película actual.
Bueno, espero no haberme dejado nada o haber cometido un error, que lo he hecho a pelo y aquí no hay depurador, pero la mecánica básica es esa.