Comunidad de diseño web y desarrollo en internet online

problema precarga JPGs ayuda plisss!!!!

Citar            
MensajeEscrito el 20 May 2005 08:41 am
He creado una especie de galeria de articulos, con una lista de imagenes en pequeño y una unica foto grande que aparece cuando se hace clic en la pequeña. El problema lo tengo al implementarle ahora las precargas, ya q las fotos son externas...

Código :


//Recoge las variables pasadas de la pelicula padre de tipo de prod y numero de articulos de la familia
tipoprod = _parent.tipoprod;
numart = _parent.numart;

_root.articulodir = "cierres";
_root.articulofoto = "cierre1";


//valores iniciales de posiciony y profundidad, estas posiciones son donde aparece la primer foto y las otras en relacion a esta
posy=-130;
depth=1


//Este bucle es el q genera tantas mini imagenes como nº de ellas haya
for(i=1; i<numart; i++) {
  minifoto(i,articulo+i);
  posy=posy+80;
  depth=depth+3;
  
}



/////Esta funcion carga las imagenes y les asigna un boton, aqui es donde viene el lio
function minifoto(ninstancia, nombrefoto) {
   
/////PRECARGA/////
   var precargador_mcl:MovieClipLoader = new MovieClipLoader();
   var listener:Object = new Object();
   listener.onLoadStart = function(target_mc) {
      trace("comienza carga");
      //Colocamos la precarga en el escenario con el nombre "cargando_mc"
      this.attachMovie("cargando", "cargando_mc", _root.getNextHighestDepth());
   };

   listener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
                //este trace no aparece al ejecutar la pelicula como si no entrase aqui!!!!!!!!!
      trace("En progreso");
      //Ahora escondemos el objeto de la precarga y lo frenamos
                //aqui no hace ni caso, la intencion es q el mc q contiene la foto se pare hasta q la imagen termine de cargar y entonces comience la animacion q contiene, pero se lo salta
      target_mc._visible = false;
      target_mc.stop();
      rutamcfoto.stop();
      rutamcfoto._visible = false;
   };

   //Función onLoadComplete
   listener.onLoadComplete = function(target_mc) {
      trace("ya");
      //Como ya cargo completo, entonces quitamos la barra
      this.cargando_mc.removeMovieClip();
      //Y mostramos el objeto
                //esto tb se lo salta pq probe a poner un stop fuera de la funcion y en este punto no retoma la ejecucion del clip
      target_mc._visible = true;
      target_mc.play();
      rutamcfoto._visible = true;
      rutamcfoto.play();
   };

   //ASIGNACIÓN DEL LISTENER AL MOVIECLIPLOADER
   //Ahora, todas las funciones que declaramos seran asignadas a
   //nuestro MovieClipLoader "precargador_mcl"


/////FIN PRECARGA/////   
   
      
   //creamos un boton x cada foto
   this.attachMovie("boton","boton"+ninstancia,depth);
        //insertamos un clip x cada foto
   this.attachMovie("clipfoto","clipfoto"+ninstancia,depth+1);
        //se le asigna el listener al objeto¿?
   precargador_mcl.addListener(listener);
   rutamcfoto = this["clipfoto"+ninstancia]
   
        //carga la foto, controlada por los listeners dentro de un mc del clip de pelicula q carga las fotos, esto es asi pq realiza una animación tras cargar la foto, pero no funciona¿?
precargador_mcl.loadClip("images/mini/"+articulo+"/"+nombrefoto+".jpg", this["clipfoto"+ninstancia].miniconten1);

//   rutamcfoto.stop();    esto lo use xa ver si retomaba la ejecucion al terminar de cargar, pero nada
   
   //situa en posicion el boton y el mc
   this["boton"+ninstancia]._y=posy;
   this["clipfoto"+ninstancia]._y=posy;
   
   //evento al hacer clic en una minifoto q abre la grande
   this["boton"+ninstancia].onPress = function () {
   
      _root.articulodir=articulo;
      _root.articulofoto=nombrefoto;
      cargaarticulo();
   }
   
   
}

////FIN funcion q carga las imagenes y asigna un boton a cada una



//Esta funcion carga la pelicula q carga la imagen grande
function cargaarticulo() {
   loadMovie("articulo.swf", _parent.contengrande);
}





Tras este rollo de codigo q he intentado comentar al maximo para su comprensión, el resultado es q no hace ni caso, no espera a precargar las imagenes ni nada de nada y no tengo ni idea x donde puede estar el fallo, ademas de q el trace de la funcion "en progreso" no aparece, como si no entrase alli.

Si algunos ojos frescos y con más conocimiento q los mios (eso es facil :oops: ) me echara una manita le estaría infinitamente agradecido... :love:

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

firefox
Citar            
MensajeEscrito el 20 May 2005 10:31 am
Busca "Bug MovieClipLoader" por el foro y verás, jejeje...

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 20 May 2005 11:25 am
No se exactamente q buscar elecash :( mi problema está en q no se como implementar el preloader a mi caso y me he hecho un pequeño lio... :crap:

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

firefox
Citar            
MensajeEscrito el 20 May 2005 03:07 pm
esta semana precisamente tuve un problema parecido de precarga de jpg's y javierdaniel me paso este código q funciona de maravilla.

Código :

function carga(src:String) {
        var Nivel = getNextHighestDepth();
      nue = foto;
        car = createEmptyMovieClip("carga"+Nivel+1, Nivel+1);
        nue.loadMovie(src+"_op"+".jpg");
      car.onEnterFrame = function() {
               with (this) {
                        bt = _parent.nue.getBytesTotal();
                        bl = _parent.nue.getBytesLoaded();
                        porc = Math.floor((bl/bt)*100);
                        _parent.porcentaje = porc+"%";
                        _parent.loadBar_foto._xscale = porc;
                     if (porc == 100 and bt>5) {
                        delete onEnterFrame;
                        }
                }
        };
}
carga("AUT31913");
btn_1.onRelease = function(){
   carga("AUT32002");
}
btn_2.onRelease = function(){
   carga("AUT31913");
}


este código va en tu linea de tiempo.
en tu escena debes tener (para probar este codigo) 2 botones (btn_2 y btn_1), un movie clip vacio de nombre de instancia "foto", un MC con la bara de precarga llamado "loadBar_foto" y un campo de texto dinámico con la variable "porcentaje".

AUT31913 y AUT32002 (_op.jpg) son los nombres de las imagenes jpg.

saludos espero te sirva tanto como a mi.

:D :D

Por rosvel

SWAT Team

1311 de clabLevel

2 tutoriales
1 articulo
1 ejemplo

Genero:Masculino   SWAT

"la oficina"

firefox
Citar            
MensajeEscrito el 20 May 2005 08:16 pm
A ver q parece q ya tengo localizado el problema... :crap:

El problema q veo es q estoy cargando el JPG en un subcontenedor del mc del q quiero controlar la ejecucion hasta q termine de cargar dicho JPG

Utilizando la clase MovieClipLoader, se podría dar ordenes al mc padre del target_mc?

mclListener.onLoadComplete = function(target_mc)
{

target_mc.play();
};

Esto no hace nada pq no es la linea de tiempo de target_mc la q quiero poner en ejecucion, sino la de su padre...es esto posible?
_parent.target_mc da como resultado undefinned :crap:

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

firefox

 

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