Re: [ASNativos] Cargador para XML
Hola Moisés tanto cuando cargas un xml como una imagen siempre dispones de los bytes cargados y los totales, asi que te puedes calcular el porcentaje asi p = Math.round( miXML.getBytesLoaded()*100 / miXML.getBytesTotal() ); donde p es un numero entero entre 0 y 100 Lo mismo puedes hacer para cada imagen p = Math.round( miImagen.getBytesLoaded()*100 / miImagen.getBytesTotal() ); Esto lo puedes comprobar en un setInterval o en un enterframe, y mostrarlo en un campo de texto o con una animacion de 100 fotogramas, y le dices anim.gotoAndStop(p); suerte. - Original Message - From: Nueva Imagen Digital, S.L. [EMAIL PROTECTED] To: asnativos@5dms.com Sent: Wednesday, March 01, 2006 1:00 AM Subject: [ASNativos] Cargador para XML Buenas noches ASfanaticos Se que algo de esto hay escrito en la lista, lo he leido.. pero la verdad es que no lo entiendo. Os espongo mi problema Estoy montando un sitio web con varios swf cargados con el loadMovieNum, todas los swf tienen su precargador típico y este funciona. Ahora bien, en unas partes de la web existe una galeria de espectaculos con una tira de imágenes con los correspondientes carteles de cada uno de estos. Cada espectáculo se compone de sinopsi, cartel, fotos, titulo, etc, que lo cargo todo a traves de un xml que tiene esta estructura /espectaculo espectaculo id=2 nombre= nom= castellano= valenciano= cartel= cartell= fotos foto/foto /fotos /espectaculo el xml se parsea bien, y dinámicamente se me crea la galeria según cuantos espectaculos existan en el xml. mi código crea primero los clips para cada uno de los espectaculos, carga las imagenes y asocia a cada uno de los elementos de la tira de imágenes todo los datos que necesita del xml. Pero el problema, es que desde que se crean los clips(boton) para cada uno de los elementos del xml, se quedan en blanco los movieclips y no consigo crear un cargador cutre para xml para que no tener la tira de imágenes en blanco hasta que se terminan de cargar todas las imágenes. Por favor, hechadme una mano (y que no sea al cuello, jejeje) que llevo muchos dias pasando sueño para intentar solucionar esto y no lo consigo. Os pongo tb el código que utilizo para cargar el xml y la galería. stop(); // Initialize useful variables and picture array cellWidth = tira_mc.reel_mc.cell_mc._width; center = tira_mc._width / 2; pics = new Array (); //esto es lo que hace que la tira se mueva hacia un lado u otro onEnterFrame = function () { if (_xmouse 330 _ymouse 265) { reelSpeed = ((_xmouse - 330) - center) / 10; tira_mc.reel_mc._x += reelSpeed; // Apply limits to reel position leftStop = center - tira_mc.reel_mc._width + cellWidth / 2; rightStop = center - cellWidth / 2; if (tira_mc.reel_mc._x leftStop) { tira_mc.reel_mc._x = leftStop; } else if (tira_mc.reel_mc._x rightStop) { tira_mc.reel_mc._x = rightStop; } } }; // esto es el constructor del objeto espectaculo espectaculo = function (id, nombre, nom, castellano, valenciano, cartel, cartell, fotos) { this.id = id; this.nombre = nombre; this.nom = nom; this.castellano = castellano; this.valenciano = valenciano; this.cartel = cartel; this.cartell = cartell; this.fotos = fotos; }; //aqui defino para cada celdita lo que tiene k cargar en ella NewCell = function (num, details) { // Create a new cell originalClip = tira_mc.reel_mc.cell_mc; newClip = originalClip.duplicateMovieClip (cell + num, num); // Set cell position and text fields newClip._x = num * 120; // Coloco el contenido de cada uno de los espectaculos en su celdita del scroll content = newClip.placeholder_mc; //PONGO EL CARTEL CORRESPONDIENTE //controlo si hay cartel o no if (details.cartel != undefined details.cartel != null details.cartel != ) { content.loadMovie (details.cartel); } else if (details.cartell != undefined details.cartell != null details.cartell != ) { content.loadMovie (details.cartell); } else { //si no hay pongo uno genérico content.loadMovie (./images/logo_.gif); } //DEFINO LAS FUNCIONES DE BOTON DE CADA celdita del scroll newClip.onRelease = function () { //compruebo si hay cartel if (details.cartel != undefined details.cartel != null details.cartel != ) { foto.clip_foto.loadMovie (details.cartel); } else if (details.cartell != undefined details.cartell != null details.cartell != ) { foto.clip_foto.loadMovie (details.cartell); } else { //si no hay pongo uno genérico foto.clip_foto.loadMovie (./images/logo_.gif); } //compruebo si hay texto if (details.castellano != undefined details.castellano != null details.castellano != ) { texto_espectaculo.sinopsi.text = details.castellano; } else if (details.valenciano
[ASNativos] Cargador para XML
Buenas noches ASfanaticos Se que algo de esto hay escrito en la lista, lo he leido.. pero la verdad es que no lo entiendo. Os espongo mi problema Estoy montando un sitio web con varios swf cargados con el loadMovieNum, todas los swf tienen su precargador típico y este funciona. Ahora bien, en unas partes de la web existe una galeria de espectaculos con una tira de imágenes con los correspondientes carteles de cada uno de estos. Cada espectáculo se compone de sinopsi, cartel, fotos, titulo, etc, que lo cargo todo a traves de un xml que tiene esta estructura /espectaculo espectaculo id=2 nombre= nom= castellano= valenciano= cartel= cartell= fotos foto/foto /fotos /espectaculo el xml se parsea bien, y dinámicamente se me crea la galeria según cuantos espectaculos existan en el xml. mi código crea primero los clips para cada uno de los espectaculos, carga las imagenes y asocia a cada uno de los elementos de la tira de imágenes todo los datos que necesita del xml. Pero el problema, es que desde que se crean los clips(boton) para cada uno de los elementos del xml, se quedan en blanco los movieclips y no consigo crear un cargador cutre para xml para que no tener la tira de imágenes en blanco hasta que se terminan de cargar todas las imágenes. Por favor, hechadme una mano (y que no sea al cuello, jejeje) que llevo muchos dias pasando sueño para intentar solucionar esto y no lo consigo. Os pongo tb el código que utilizo para cargar el xml y la galería. stop(); // Initialize useful variables and picture array cellWidth = tira_mc.reel_mc.cell_mc._width; center = tira_mc._width / 2; pics = new Array (); //esto es lo que hace que la tira se mueva hacia un lado u otro onEnterFrame = function () { if (_xmouse 330 _ymouse 265) { reelSpeed = ((_xmouse - 330) - center) / 10; tira_mc.reel_mc._x += reelSpeed; // Apply limits to reel position leftStop = center - tira_mc.reel_mc._width + cellWidth / 2; rightStop = center - cellWidth / 2; if (tira_mc.reel_mc._x leftStop) { tira_mc.reel_mc._x = leftStop; } else if (tira_mc.reel_mc._x rightStop) { tira_mc.reel_mc._x = rightStop; } } }; // esto es el constructor del objeto espectaculo espectaculo = function (id, nombre, nom, castellano, valenciano, cartel, cartell, fotos) { this.id = id; this.nombre = nombre; this.nom = nom; this.castellano = castellano; this.valenciano = valenciano; this.cartel = cartel; this.cartell = cartell; this.fotos = fotos; }; //aqui defino para cada celdita lo que tiene k cargar en ella NewCell = function (num, details) { // Create a new cell originalClip = tira_mc.reel_mc.cell_mc; newClip = originalClip.duplicateMovieClip (cell + num, num); // Set cell position and text fields newClip._x = num * 120; // Coloco el contenido de cada uno de los espectaculos en su celdita del scroll content = newClip.placeholder_mc; //PONGO EL CARTEL CORRESPONDIENTE //controlo si hay cartel o no if (details.cartel != undefined details.cartel != null details.cartel != ) { content.loadMovie (details.cartel); } else if (details.cartell != undefined details.cartell != null details.cartell != ) { content.loadMovie (details.cartell); } else { //si no hay pongo uno genérico content.loadMovie (./images/logo_.gif); } //DEFINO LAS FUNCIONES DE BOTON DE CADA celdita del scroll newClip.onRelease = function () { //compruebo si hay cartel if (details.cartel != undefined details.cartel != null details.cartel != ) { foto.clip_foto.loadMovie (details.cartel); } else if (details.cartell != undefined details.cartell != null details.cartell != ) { foto.clip_foto.loadMovie (details.cartell); } else { //si no hay pongo uno genérico foto.clip_foto.loadMovie (./images/logo_.gif); } //compruebo si hay texto if (details.castellano != undefined details.castellano != null details.castellano != ) { texto_espectaculo.sinopsi.text = details.castellano; } else if (details.valenciano != undefined details.valenciano != null details.valenciano != ) { texto_espectaculo.sinopsi.text = details.valenciano; } else { //si no hay pongo uno genérico texto_espectaculo.sinopsi.text = Contacte con nosotros para obtener más información; } for (m = 0; m 12; m++) { this._parent._parent._parent[cuad + m].gotoAndStop (3); this._parent._parent._parent[cuad + m].enable = false; } for (k = 0; k details.fotos.length; k++) { if (details.fotos[k] != undefined) { this._parent._parent._parent[cuad + k].gotoAndStop (2); this._parent._parent._parent[cuad + k].enable = true; this._parent._parent._parent[cuad +
Re: [ASNativos] Cargador para XML
Ah, se me olvidaba. Una vez tengo cargado el xml... también tengo el problema con las imágenes, que se queda un ratito hasta que se cargan y aparecen. Y me pasa lo mismo. Se que existe el movieclip.loadClip(), pero... creo k las neuronas no me funcionan demasiado porque no consigo que funcione nada tampoco. Gracias de antemano Un saludo Moisés -- Lista ASNativos:asnativos@5dms.com http://www.5dms.com/listas --