Muchísimas gracias Juanma, es un código perfecto, pero es demasiado para mí y, 
por desgracia, no tengo tiempo de investigarlo un poco porque me están dando 
mucha caña con este proyecto, así que tendré que optar por la forma más 
"bestia" de hacerlo :((

De todas formas, he guardado la clase en un archivo (Precargador.as) y he 
pegado el código de uso en mi película y no me funciona (desde dónde lee las 
fotos??)

En fin, guardo el código para estudiarlo en mi tiempo libre.

Muchas gracias !! :D

Jg.
  ----- Original Message ----- 
  From: [EMAIL PROTECTED] 
  To: Lista dedicada a Actionscript 
  Sent: Thursday, November 08, 2007 11:31 AM
  Subject: Re: [ASNativos] Ordenar imagenes con un patron fijo


  Si estas en AS2 lo mejor es utilizar MovieClipLoader para tener control de 
  la carga.

  Te paso una clase que puedes utilizar para precargar las fotos, o cualquier 
  cosa que quieras cargar:

  <code>
  //Clase Precargador
  class Precargador extends MovieClipLoader {
   private var clip_mc:MovieClip;
   private var precargador:MovieClip;
   public var pelicula:String;
   public var xposicion:Number;
   public var yposicion:Number;
   private var clip:MovieClip;
   private var target:MovieClip;
   private var callBackFunct:Function;

  public function precargar(clip:MovieClip, pelicula:String, xpos:Number, 
  ypos:Number, callBackFunct:Function){
   xposicion=xpos? xpos : 0
   yposicion=ypos? ypos : 0
   addListener(this);
   this.callBackFunct=callBackFunct;
   loadClip(pelicula, clip);
  }

  public function onLoadProgress 
  (target:MovieClip,bytesLoaded:Number,bytesTotal:Number):Void {
    precargador.campo_txt.text= Math.floor((bytesLoaded*100)/bytesTotal)+"%";
    precargador.barra._xscale =Math.floor((bytesLoaded*100)/bytesTotal);
    target.stop();
  }

  public function onLoadStart(target:MovieClip):Void {
   precargador = _root.attachMovie("precargador","precargador_mc",9833);
   precargador._x = xposicion
   precargador._y= yposicion
   target.stop();
  }

  public function onLoadInit (target:MovieClip):Void {
   target.play();
   callBackFunct.call(null,target);
  }

  public function onLoadComplete (target:MovieClip):Void {
   precargador.removeMovieClip();
   target.stop();
  }

  public function onLoadError (target:MovieClip, errorCode:String):Void {
      if (errorCode == "URLNotFound") {
      trace(errorCode+" ERROR: File not found.");
    } else if (errorCode == "LoadNeverCompleted") {
      trace(errorCode);
    } else {
      trace(errorCode);
    }
  }
  }

  La utilización Sería asi:

  import Precargador

  this.createEmptyMovieClip("galeria",1)
  var fotos:Array=new Array()
  fotos=["foto1.jpg","foto2.jpg"]

  function 
  
carga(container:MovieClip,contenido_a_cargar:String,xpos:Number,ypos:Number,callback:Function){
       p = new Precargador();
       p.precargar(container,contenido_a_cargar,xpos,ypos,callback);
  }

  function displayGallery(){
      for (var i = 0; i<fotos.length; i++) {
            galeria.attachMovie("foto_container","foto_container"+i,i)
            carga(galeria["foto_container"+i], fotos[i], 0, 0, _colocalafoto)
      }
  }

  var contador:Number=0

  function _colocalafoto(){
    
galeria["foto_container"+contador]._x=galeria["foto_container"+(contador-1)]._x+galeria["foto_container"+(contador-1)]._width
    contador++
  }












  ----- Original Message ----- 
  From: "Javier García / H2e" <[EMAIL PROTECTED]>
  To: "Lista dedicada a Actionscript" <[email protected]>
  Sent: Wednesday, November 07, 2007 5:29 PM
  Subject: [ASNativos] Ordenar imagenes con un patron fijo


  Agencia de Comunicación Visual :: h2e.es ::

  Hola listeros!!

  Estoy montando una galería de imágenes y me pasa lo siguiente. Tengo un clip
  en el que atacheo tantos cilps de la librería como imágenes tenga. Una vez
  atacheado, le cargo su correspondiente imagen desde el servidor y lo coloco
  en pantalla con una estructura tal que así:

  []  []  []  []  []  []  (cada elemento corresponde a una imagen)

  La cuestión es que hay imágenes que son más anchas que otras, entonces
  necesito sacar un patrón fijo para que siempre respeten la misma separación
  sea cual sea su ancho:

  []  [      ]  [             ]  []  []  [    ]  [            ]  (aunque la
  imagen sea más larga, el patrón es el mismo)

  Yo había pensado una fórmula:

  this._x = (anterior._x + this._width) + patron

  Siendo:

  this._x --> el clip que voy a colocar en ese momento;
  anterior._x --> es la posición donde se quedó el último clip atacheado.
  this._width --> el ancho de dicho clip que voy a colocar.
  patron --> el valor fijo de separación entre todos los clips.

  Bueno, estoy no funciona; el ._width me devuelve 0.

  A ver si alguien me echa un cable. Uso Flash 8 y AS 1

  Graciasss!!!

  Jg.


  -----------------------------------------------------
  ASNativos
  www.5dms.com
  subscripciones/desubscripciones
  http://asnativos.5dms.com
  ----------------------------------------------------- 


  -----------------------------------------------------
  ASNativos
  www.5dms.com
  subscripciones/desubscripciones
  http://asnativos.5dms.com
  -----------------------------------------------------
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a