Foros del Web » Creando para Internet » Flash y Actionscript »

Precarga movie

Estas en el tema de Precarga movie en el foro de Flash y Actionscript en Foros del Web. Hola, tengo una web en flash donde al pulsar un botón me carga una película con loadMovie. El problema es que la película ocupa mucho ...
  #1 (permalink)  
Antiguo 04/05/2006, 01:41
 
Fecha de Ingreso: abril-2006
Mensajes: 5
Antigüedad: 17 años, 11 meses
Puntos: 0
Precarga movie

Hola, tengo una web en flash donde al pulsar un botón me carga una película con loadMovie. El problema es que la película ocupa mucho y tarda en cargarse. Me gustaría ponerle una barra con un contador, pero estoy mirando manuales y estoy hecha un lío. El código del botón que carga la película es:

on (press) {
loadMovieNum("soluciones.swf", 1);
}

Me gustaría hacerlo con el componente progressbar ¿se puede?

Muchísimas gracias.
  #2 (permalink)  
Antiguo 04/05/2006, 02:58
Avatar de fueradejuego  
Fecha de Ingreso: abril-2003
Ubicación: Málaga - España
Mensajes: 94
Antigüedad: 20 años, 11 meses
Puntos: 0
Pon este codigo en el primer fotograma de "soluciones.swf":

Código:
/* Declaro la función de precarga "cargando", esta función se ejecutara
todo el tiempo hasta que haya cargado totalmente la película */
System.useCodepage = true;
function cargando() {

// Declaración de variables
var total, cargados, porcentaje;

// A la variable "total" se le asigna el tamaño de la película en bytes
total = _root.getBytesTotal();

// A la variable "cargados" se le asignan el total de bytes hasta el
//momento descargados de la web
cargados = _root.getBytesLoaded();

//Por medio de una regla de tres obtiene el porcentaje cargado y redondea el valor con la función
//"Math.floor"
porcentaje = Math.floor((cargados*100)/total);

//Asigna al campo de texto porcentaje_txt el porcentaje cargado
porcentaje_txt.text = porcentaje + " %";

//Mueve la barra de carga al frame correspondiente al porcentaje
barra_mc.gotoAndStop(porcentaje);

//Si la cantidad de bytes cargados es igual a la cantidad total de bytes
if (cargados == total) {

//Hacer que se deje de ejecutar esta función
clearInterval(hiloPrecarga);

//Iniciar la película
nada.useHandCursor = false;
System.useCodepage = true;
gotoAndPlay(2);

}
}

// setInterval nos servirá para que la función "cargando" se ejecute cada 1 milisegundo
// Así, nuestra función revisara constantemente la cantidad de bytes descargados 
// y solo iniciara la película hasta que la descarga termine
// la variable "hiloPrecarga" nos servirá para saber que esta corriendo nuestra función
// y frenar su ejecución cada milisegundo por medio de "clearInterval"
var hiloPrecarga = setInterval(cargando, 1);

//Evita que inicie la película
stop();
En ese mismo fotograma crea un movieClip que se llame "barra_mc" con una animacion de 100 fotogramas (puedes poder una barra de progreso o lo que quiereas).

Cuando llegue al 100% te llevara al fotograma 2 donde ya tendras lo mismo que tenias antes.

Espero que te sirva.
Un saludo.
  #3 (permalink)  
Antiguo 04/05/2006, 03:56
 
Fecha de Ingreso: abril-2006
Mensajes: 5
Antigüedad: 17 años, 11 meses
Puntos: 0
Muchas gracias, lo probare.

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:07.