Comunidad de diseño web y desarrollo en internet online

Ayuda con Multi Preloader funcionando

Citar            
MensajeEscrito el 08 Jul 2008 11:00 am
Hola gente, les comento un poco el tema, tengo una galeria xml que recibe al rededor de 255 thumbs, la cuestion es que le e integrado un multi preloader que fuciona a la perfección, pero a la hora de mostrar los clips no lo hace, no entiendo porque, antes sin el preloader si lo enseñaba, aunque en el navegador no (pero este detalle lo resolveré despues).

Os dejo el codigo, esta bastante ordenado para que podais comprenderlo a la perfección.

Código :

import mx.transitions.*;
import mx.transitions.easing.*;
System.useCodepage = true;

///////////////////////////
//Código para trabajar a pantalla completa solo afectando a un clip, show.btn 
/////////////////////////////
Stage.scaleMode = 'noScale'; 
Stage.align = 'TL'; 
//calcular tamaño
stageResize = function ():Void { 
   //ajustar marcara de clips
   show.btn._height = Stage.height;
   show.btn._width = Stage.width;
}; 

stageListener = new Object(); 
stageListener.onResize = stageResize; 
Stage.addListener(stageListener); 
///////////////////////////

///////////////////////////
//DECLARACIÓN DE VARIABLES
//////////////////////////
var listener:Object = new Object();

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = alCargar;
xml.load("http://127.0.0.1/rem/proyectos.php");

var numFotos:Number;
var cadaFoto:Array;

var i:Number;
var dirX:Number = 0;
var dirY:Number = 0;
var col:Number = 15;
var mcs:MovieClip;
var thumb:MovieClip;
var img:MovieClip;
var thumbloader:MovieClipLoader = new MovieClipLoader();
var imgloader:MovieClipLoader = new MovieClipLoader();
foto_mc._visible = false;

thumbloader.addListener(this);

/////////////////////////////

/////////////////////////
//Multi PreLoader
////////////////////////
function onLoadStart(clip:MovieClip)
{
   clip._visible = false;
   clip.stop();
}
function onLoadProgress(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number)
{
   porcentaje = Math.round(bytesLoaded / bytesTotal * 100);
   porcentajeTotal = Math.round(porcentaje / numFotos + 100 / numFotos * cargando);
   preload.gotoAndStop(porcentajeTotal);
   preload.cargando.text = "Loading Thumbails: " + cargando;
}
function onLoadInit(clip:MovieClip)
{
   cargando++;
   trace(cargando)
   cargarPrevias();
}
cargarPrevias(200, 150);
/////////////////////////

////////////////////////////
//Funciones para cargar las imagenes de un xml
////////////////////////////

function alCargar(){
   numFotos = xml.firstChild.childNodes.length;
   trace(numFotos);
   cadaFoto = new Array(numFotos);   
   //altoFoto = new Array(numFotos);   
   cargarPrevias();
}


function cargarPrevias(queX:Number, queY:Number){
      
      if (!cargando) {
            cargando = 0;
            this.attachMovie("preload", "preload", this.getNextHighestDepth());
            preload._x = queX;
            preload._y = queY;
      }
      if (cargando < numFotos) {
                  
                  Duplicar();   
                  cadaFoto[cargando] = xml.firstChild.childNodes[cargando].attributes.img_xml;

                  thumb = mcs.createEmptyMovieClip("n", this.getNextHighestDepth());

                  thumbloader.loadClip("thumb/" + cadaFoto[cargando], thumb);
                  trace(cadaFoto[cargando]);
            
      } 
      else {
               trace("listo");
               for (i = 0; i < numFotos; i++) {
                  
                  clipTween= show.foto["mc"+i];
                  clipTween._visible = true;
                  clipTween.play();
                  new Tween(clipTween,"_alpha", Strong.easeOut, 100 , 0, 3, true);
                  trace(clipTwee)
               }
               removeMovieClip(preload);

      }
   
}

function Duplicar(){
   mcs = show.foto.thumb_mc.duplicateMovieClip("mc"+ cargando, cargando);
   trace(mcs);
   mcs._x = 100*dirX;
   mcs._y = 100*dirY;
   mcs._alpha=0;
   dirX++;
   if(dirX == col){
      dirX = 0;
      dirY++;
   }
}




Como podeis ver, las funciones alCargar y cargarPrevias son las que generar el array de todas las rutas y el Duplicar, pues duplica los clips de show.foto.thumb_mc con instancia mc+cargando

En el Multi Preloader, la funcion onLoadInit es la que crea el bucle aumentando cada vez la variable cargando.

Tengo puesto cuatro traces, el primero es el de la variable cargando en la funcion onLoadInit, el segundo es el de las imagenes en la funcion cargarPrevias, que ademas, dentro de esta, se ejecuta la funcion Duplicar, donde tambien hay un trace para ver los clips que va duplicando (show.foto.mc1, show.foto.mc2, show.foto.mc3..., hasta 255), los ultimas trace se ejecutan cuando ha terminado la carga de archivos en la función cargarPrevias, son el de "listo" y el que deberia ver los clips duplicados a través de la variable clipTween, pues este último trace de la variable clipTween me sale como undefined 255 veces, aqui es donde no hace visible los clips y no se ve nada.

Espero me puedan ayudar! muchas gracias

Por fito311

9 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 08 Jul 2008 12:48 pm
En duplicar no veo que hagas un loadMovie, si duplicas un clip con algo externo cargado, el contenido no se duplica, tienes que volver a hacer el loadMovie. Duplicate es mala idea

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Jul 2008 02:01 pm

solisarg escribió:

En duplicar no veo que hagas un loadMovie, si duplicas un clip con algo externo cargado, el contenido no se duplica, tienes que volver a hacer el loadMovie. Duplicate es mala idea

Jorge


Hola, gracias por tu ayuda!, hice lo que has dicho y comienza a funcionar!, ahora el problema es que en el navegador no muestra nada, ni el loader... por que pasa eso?

Saludos y gracias nuevamente!

Por fito311

9 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 08 Jul 2008 02:11 pm
A no ser que estes simulando la descarga, el preloader realmente se prueba onLine .... ¿estás seguro que tu preloading funciona?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Jul 2008 10:48 am
Esta todo ok, lo corregi, muchas gracias!

Por fito311

9 de clabLevel



Genero:Masculino  

safari

 

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