Comunidad de diseño web y desarrollo en internet online

PROBLEMAS CON PRELOADER

Citar            
MensajeEscrito el 06 Abr 2007 03:55 pm
Hola, queria consultarlos por un problema con un preloader. Este AS se publico aca, en cristalab y lo que sucede es que mientras esta bajando un swf, si cliqueo para bajar otro en el mismo target o level, la segunda o la primera pelicula queda "titilando", no reconece los stops o labels y se reinicia en un loop descontrolado.Esto sucede, calculo yo, por que todavia estaba bajando otro swf.
este es el codigo:

* 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();
// 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();

y este es el link de publicacion:
http://www.cristalab.com/tutoriales/3/precarga-en-flash

Ya intente cambiando nombre de funcion, de variables, de instancias de txt dinamico y clip "barra".
Y esto ya me sucedio con otro preloader mas sencillo...no se si es un defecto del AS y FLASH...o hay una solución para este script, es decir detener la funcion ejecutandose se haya o no bajado todo el swf, y reiniciar otro.
Veo que tienen otros loaders publicados, pero la verdad que ya tengo todo hecho y necesito que sea en MX por una galerías de fotos y demas AS para MX.
Muchas gracias por la atencion ...y por todo lo que me ayudan con sus publicaciones...realmente,
es muy bueno el sitio.
fernando

Por frojasgom

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 07 Abr 2007 04:19 am
utiliza unloadmovie antes de cargar sie ntendi bien

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

firefox
Citar            
MensajeEscrito el 07 Abr 2007 08:28 am
Hola, por lo q lei creo entender q necesitas una aplicacion con un Loading... mientras se descarga todo tu swf, bueno yo procedo de la sgte manera:
_Creo un movie clip q se ubique en el 1er frame de la pelicula, debe estar solamente alli.
_Dentro de ese movie clip y en una capa, coloco una animacion de tal manera q su linea de tiempo termine en el frame Nro 100, puede ser una barra en una mascara que al llegar al frame 100 se termina de ver.
_En otra capa, coloco un texto q en sus propiedades coloco como texto dinamico y en Var = text.
_(opcional puedes colocar otro movie clip en el cual se puede dar un suceso repetitivo, por ejemplo un brillo q va de un extremo al otro).
_Luego, estando en la pelicula principal y seleccionando el movie clip q esta solo en el primer frame, colocas el sgte codigo:
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
onClipEvent (load) {
total = _root.getBytesTotal();
if (_parent.getBytesTotal() == _parent.getBytesLoaded()) {
quickPlay = true;
} else {
preLoad = (_parent.getBytesTotal() * 1); //percent to preload
}
_parent.stop();
}

onClipEvent (enterFrame) {
loaded = _root.getBytesLoaded();
percent = int(loaded / total * 100);
text = percent + "% cargado";
gotoAndStop(percent);
if (quickPlay == true) { //quickly play the anim
if (_currentframe == _totalframes) {
_parent.play();
}
} else { //wait for the preload
if (_parent.getBytesLoaded() >= preLoad) {
_parent.play();
}
}
if (loaded == total)
{
_root.gotoAndPlay(2);
}
}
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

Este codigo te imprime el porcentaje q se va descargando de tu pelicula total. Cabe resaltar q este movie clip de carga o load debe estar solo en el 1er frame y en una capa independiente, desde el 2do frame y con las capas q sean colocas la pelicula total q se va a descargar, esto es bueno para los intros q te llevan a tu pagina principal.
Espero haberte ayudado yo tb estoy aprendiendo mas de este mundo y la verdad que la investigacion nos alimenta cada vez mas, salu2, bybyte...

Por dasaoqui

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Jun 2009 01:42 am
Tengo exactamente el mismo problema que tu!! y no he encontrado como solucionarlo, lo lograste de algún modo??? auxilio!!

Por Sik

6 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.