Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2010, 05:05
fackius
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
No puedo agregar preload a galeria de imagenes

Hola chicos.

Tengo una consulta. Estuve lidiando mucho con esto, y aun no puedo solucionarlo.

Tengo una galeria de fotos en flash, la cual fui realizando viendo un videotutorial.

La galeria de imagenes funciona correctamente, las imagenes se cargan desde un XML y las muestra correctamente. Todo el codigo de la galeria esta en el primer fotograma.

Ahora, cuando yo quiero agregar el preload, agrego un preload que ya se que ha funcionado en otras animaciones flash. Pero al ponerlo en la galeria falla totalmente.

Es como si el preload no funcionara, y posteriormente, la galeria se desordena toda y se crean mas de los objetos estipulados.

Al preload lo agrego en el primer fotograma, con su codigo correspondiente. Y a la galeria la ubico en el segundo.

Si desean ver la galeria, la saque de la web "videoaprende . c o m" se llama menu carrusel en AS 2.

Igualmente aqui les dejo el codigo que yo tengo.

FOTOGRAMA 1

En este fotograma existe el objeto loader. Que simula la carga con la interpolacion de forma en los fotogramas de 1 a 100.

Código ActionScript:
Ver original
  1. var hiloPrecarga = setInterval(cargando, 1);
  2. function cargando() {
  3.     var total, cargados, porcentaje;
  4.     total = _root.getBytesTotal();
  5.     cargados = _root.getBytesLoaded();
  6.     porcentaje = Math.floor((cargados*100)/total);
  7.     loader.gotoAndStop(porcentaje);
  8.     if (cargados == total) {
  9.       clearInterval(hiloPrecarga);
  10.       gotoAndStop(2);
  11.     }
  12. }
FOTOGRAMA 2

Aqui, la galeria va realizando los attachMovie dependiendo de la cantidad de imagenes a cargar.

Código ActionScript:
Ver original
  1. //var num:Number = 10;
  2. var radioX:Number= 300;
  3. var radioY:Number= 100;
  4. var centroX:Number= Stage.width /2;
  5. var centroY:Number= (Stage.height /2-100);
  6. var perspectiva:Number = 50;
  7. var velocidad:Number= 0.1;
  8. var xml:XML= new XML();
  9. xml.ignoreWhite=true;
  10. xml.load("datos.xml");
  11.  
  12. xml.onLoad=function(){
  13.  
  14.     var  nodo = xml.firstChild.childNodes;
  15.    
  16.     for (i = 0; i < nodo.length; i++){
  17.        
  18.         var mcs= attachMovie("item", "item" + i, i);    
  19.         mcs.angle = i * ((Math.PI*2)/nodo.length);
  20.         mcs.onEnterFrame= Movimiento;
  21.         mcs.alpha=0;
  22.         //Si se desea poner link en las fotos deben descomentarse las lineas coment    
  23.         //mcs.foto_mc.url_flash= nodo[i].attributes.url_xml;
  24.         mcs.foto_mc.final_mc.loadMovie(nodo[i].attributes.nom_xml);
  25.         mcs.reflejo_mc.loadMovie(nodo[i].attributes.nom_xml);
  26.         //mcs.foto_mc.onPress= function(){
  27.         //  geturl("");
  28.         //}
  29.        
  30.     }
  31. };
  32.  
  33.  
  34. function Movimiento(){
  35.     this._x=    Math.cos(this.angle)*radioX + centroX;
  36.     this._y=    Math.sin(this.angle)*radioY + centroY;
  37.     this.angle += this._parent.velocidad;
  38.     var s= (this._y - perspectiva) / (centroY + radioY - perspectiva);
  39.     this._xscale = 100*s;
  40.     this._yscale = 100*s;
  41.     this.swapDepths(Math.round(this._xscale) + 100 );
  42.    
  43. }
  44.  
  45.  
  46.  
  47. this.onMouseMove =function (){
  48.     velocidad =(this._xmouse - centroX)/2000;
  49.     }


Desde la web, se pueden descargar los archivos, para que vean como es la galeria y que objetos tiene.

Si me dan una solución se los agradeceria.

Muchas Gracias.