Hola a todos.
Bien, estaba trabajando en una galeria de fotos para una web que me encargaron atravez de archivos XML. El punto es, que como las imagenes targan algo en cargar, quize poner un pequeño cargador para mostrar el porciento de la imagen y una barra con su progreso.
Utilize este codigo en un fotograma de acciones de _root:
Código:
stop();
var imagen:Number;
imagen=0;
foto=_root.createEmptyMovieClip("dibujo",100);
miXML = new XML();
miXML.ignoreWhite = true;
//COMIENZO PRECARGA
function cargaimg() {
var total, cargados, porcentaje;
total = foto.getBytesTotal();
cargados = foto.getBytesLoaded();
porcentaje = Math.floor((cargados*100)/total);
porcentaje_txt.text = porcentaje+" %";
barra_mc.gotoAndStop(porcentaje);
if (cargados == total) {clearInterval(hiloPrecarga);}
}
//FIN CODIGO PRECARGA
function cambiarimg(){
miXML.onLoad = function(succes) {
if (succes) {
foto_txt.text="Foto: "+(imagen+1);
mostrar=this.firstChild.childNodes[imagen].attributes.id;
ancho=this.firstChild.childNodes[imagen].attributes.ancho;
foto.loadMovie(mostrar);
foto._x = 320-(ancho/2);
foto._y = 45;
}
}
miXML.load("imagenes.xml");
}
cambiarimg();
//--Para comenzar la funcion de precarga con SetInterval
var hiloPrecarga = setInterval(cargaimg, 1);
Y este es el código en el boton Siguiente (sabiendo este no creo que necesiten el boton de anterior, son casi iguales):
Código:
on(release){
with (_root){
if (imagen+1<miXML.firstChild.childNodes.length){imagen+=1;}else{imagen=0;}
cambiarimg();
var hiloPrecarga = setInterval(cargaimg, 1);
}
}
El punto es, que el cargador no funciona bien, a veces se pone al 100% cuando aun esta cargando, a veces se pone 0% y la barra esta en otra posicion, y rara vez funciona bien.
Les agradeceria mucho si me ayudan.
Pd: Aqui esta un ejemplo de como es la galeria por si le quieren echan un vistazo xD (si la ven, veran que no aparece el cargador, es que lo quite temporalmente hasta que lo arregle (solo esta el cargador principal del swf)) musasycitaras.ueuo.com/fotos.php
Saludos! 8)