muy buenas a todos
estoy haciendo mi primera pagina completamente en flash y utilizando actionscript 2 y debido al gran tamaño de la pagina que en un 90% son basicamente galerias de fotos, pues he decidido partirla en una principal desde la que se cargan las galerias como swf externos y luego las fotos de estas tambien se cargan externamente.
Bueno pues el problema es que al cargar los swf externos quiero ponerles una precarga basica con la barrita y el porcentaje de carga, igual que tiene la principal, pero por mucho que lo intento, siempre falla algo, o se queda la barra subiendo indefinidamente en plan bucle o al cargar me manda de nuevo al principal en vez de al externo.
esto son los dos codigos con los que estoy probando:
este el que siempre he utilizado
Código :
onClipEvent (load) {
Total = this.getBytesTotal();
}
onClipEvent (enterFrame) {
Cargado = this.getBytesLoaded();
Porcentaje = int(Cargado/Total*100);
texto = "Cargando... "+Porcentaje+"%";
this.Cargador.barra._xscale = Porcentaje;
if (Cargado == Total) {
this._parent.gotoAndPlay(2);
}
}
y este es el segundo y con el que lo estoy intentando ahora:
Código :
onClipEvent (load) {
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 = this.getBytesTotal();
// A la variable "cargados" se le asignan el total de bytes has ta el
//momento descargados de la web
cargados = this.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
texto_botero.text = porcentaje+" %";
//Mueve la barra de carga al frame correspondiente al porcentaje
barra_botero.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
this.gotoAndPlay(2);
}
}
// setInterval nos servira para que la función "cargando" se eje cute cada 1 milisegundo
// Asi, nuestra función revisara constantemente la cantidad de by tes descargados
// y solo iniciara la pelicula hasta que la descarga termine
// la variable "hiloPrecarga" nos servira para saber que esta cor riendo nuestra función
// y frenar su ejecución cada milisegundo por medio de "clearInt erval"
var hiloPrecarga = setInterval(cargando, 1);
//Evita que inicie la pelicula
stop();
}
Intuyo que el problema este en la ruta (_root o _parent o this) pues con la precarga de las fotos externas tuve tambien problemas y los arregle (de suerte) por ahi.
Esto cansado de hacer pruebas y de mirar en los demas post sobre precargas pero no encuentro ninguna solucion asi que si alguien me ayudase directamente se lo agradeceria eternamente.
la pagina es www.marloca.260mb.com
y las pruebas de carga externa estan en www.marloca.260mb.com/137j.html
Venga muchas gracias de antemano.