|
Hola amigo(a)
Ante todo mis disculpas pues hace más de una semana que no entraba a
contestar y ahora veo que precisabas de respuesta urgente. No se si
aún te seré de ayuda, pero allá voy:
Si colocas en el primer fotgrama la animación de lo que llamas precarga con
la animación de la barra de progreso e inmediatamente después colocas lo demás
que deseas cargar no estás haciendo precarga alguna, lo que estás haciendo es
una simulación de precarga.
En la película principal SOLO PUEDE ESTAR EL FICHERO DE
LA BARRA DE PROGRESO, que como es muy pero que muy pequeño pues cargará muy
rápido. El resto de la película debe ser un swf externo que se cargaría dentro
de esta película principal. La animación de la barra esperará hasta que cargue
el swf externo.
Supongamos que este swf externo se llama "cuerpo.swf", y que el
clip de la barra de progreso tiene como nombre de instancia "barra"
entonces si "cuerpo.swf" ha cargado un 5% envias la cabeza lectora al
fotograma 5 de "barra", si ha cargado 25% lo envias al fotograma 25
de "barra" y así sucecivamente, pero, ¿Cómo saber qué porciento de
"cuerpo.swf" se ha cargado?
Se hace de la siguiente manera: (a continuación te pongo el código y algunos
comentarios para que lo entiendas)
Crea una capa nueva `para los códigos en la línea de tiempo principal, edita
el script (F9) del primer fotograma y allí pon lo siguiente:
this.createEmptyMovieClip("contenedor", 999);
// Crear un movie clip vacío en el nivel 999 de la línea de tiempo
principal, de nombre "contenedor" para que luego allí se cargue a
"cuerpo.swf"
this.contenedor._x = 50;
this.contenedor._y = 50;
// Sitúo ese clip en una posición determinada, la que quieras, por defecto
se sitía en o,o que es por lo general la que más conviene, pero aquí te pongo
otra por si acaso.
<span>var
cargador:MovieClipLoader = new MovieClipLoader();</span>
<span>// Crear un objeto para
recibir la descarga
// Cree un objeto detector:
var Midetector:Object = new Object();</span>
// Crear un objeto detector de la descarga
Midetector.onLoadError = function(MCObjetivo:MovieClip, CodigoError:String,
status:Number) {
<POr aquí las sentencias que deseas se ejecuten si ocurre
un error de carga>
};
// Esta function es llamada si ocurre un error durante de carga. En
MCObjetivo se almacena cuál clip se estaba cargando cuando se produjo el error
y en CodigoError el número del error
Midetector.onLoadStart = function(MCObjetivo:MovieClip):Void {
trace("onLoadStart: "+MCObjetivo);
};
//Esta función se ejecuta cuando comienza la carga, MCObjetivo significa lo
mismo que anteriormente
Midetector.onLoadProgress = function(MCObjetivo:MovieClip,
CantBytesCargados:Number, CantBytesTotal:Number):Void {
var PorcientoCargado:Number =
CantBytesCargados/CantBytesTotal*100;
porciento = CantBytesCargado/CantBytesTotal*100
Barra.gotoAndPlay(porciento)
};
//Esta función se ejecuta mientras se está cargando y es en realidad la que
nos interesa, fíjate que en CantBytesCargados se almacena la cantidad de bytes
que ya se han cargado y en CantBytesTotal la cantidad total a cargar, por tanto
es fácil determinar el prociento y enviar la cabeza lectora a donde deseemos.
<span>
Midetector.onLoadComplete = function(MCObjetivo:MovieClip,
status:Number):Void {
barra.gotoAndStop(1)
};</span>
//Esta función se ejecuta cuando la carga termina. Aquí te puse algo a
hacer, tu sabrás, en función de lo que desees qué hacer cuando "cuerpo.swf" sea
cargado.
cargador.addListener(Midetector);
// Adicionar a la lista de objetos
cargador.loadClip("cuerpo.swf", contenedor);
//Cargar el swf externo. Se supone que se encuentra en el mismo sitio que la
película principal, si no es así hay que darle el camino completo.
<span style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'">Jadaso63</span>
|