larias | |
| 2009-06-30 02:14 - Respuestas: 0 - Tema nº: 2603052
Windows XP Profesional .
hola, tengo un problema con una web que diseñe y querria saber si alguien me puede ayudar, soy diseñador, no soy programador.
diseñe una web en flash que consta de un home que tiene 4 botones los cuales laman a un swf cada uno. como son pesados ya que tiene fotos les puse un preloading a cada uno. funciona todo bien, el problema es que si cuando se esta cargando un swf pongo a abrir otro sin dejar que llegue a completar su descarga el primero que habia llamado todo se vuelve loco y no me reconoce ninguna accion, ningun stop. etc.
dejo el codigo que le puse al preloading.
/* Declaro la función de precarga "cargando", esta función se ejecutara
todo el tiempo hasta que haya cargado totalmente la pelicula */
function cargando() {
// Declaración de variables
var total, cargados, porcentaje;
// A la variable "total" se le asigna el tamaño de la pelicula en bytes
total = _root.getBytesTotal(1290240);
// 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 ejeuctar esta función
clearInterval(hiloPrecarga);
//Iniciar la pelicula
play();
}
}
// setInterval nos servira para que la función "cargando" se ejecute cada 1 milisegundo
// Asi, nuestra función revisara constantemente la cantidad de bytes descargados
// y solo iniciara la pelicula hasta que la descarga termine
// la variable "hiloPrecarga" nos servira 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 pelicula
stop();
desde ya muchas gracias.
| |
|
|