Comunidad de diseño web y desarrollo en internet online

MovieClipLoader/Carga simultanea/JPGs en dif. MovieClips

Citar            
MensajeEscrito el 25 Jul 2008 08:08 pm
Hola,
en el (delicioso) tutorial "Precargas múltiples de SWF y JPG simultanea en un sólo preload" se explica como utilizar la clase MovieClipLoader para cargar una serie de archivos externos identificados dentro de la funcion "cargaMultiple" mediante 2 arrays (list_swfs y list_contenedor):

if (cargando < list_swfs.length) {
precarga.loadClip(list_swfs[cargando], list_contenedor[cargando]);

...estos arrays se crean en el momento en que se ejecuta la funcion, de esta manera:

//listado de las rutas de los archivos externos a cargar
var list_swfs:Array = ["peli1.swf", "peli2.swf", "01.jpg", "02.jpg", "03.jpg", "04.jpg"];

//listado de los MovieClips vacíos donde cargar los archivos externos
var list_contenedor:Array = ["menu1", "menu2", "fot1", "fot2", "fot3", "fot4"];

...bueno, mi consulta es cómo hacer para dirigir los archivos cargados hacia diferentes movieclips.

Muchas gracias. Saludos.

Por ezeslafer

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 25 Jul 2008 08:22 pm
No entiendo tu pregunta... en el ejemplo que pones los archivos cargados se cargan en diferentes movieClips.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 30 Jul 2008 08:03 pm
Buena observacion, elchininet.
Lo que no se hacer es asignarle rutas diferentes a cada uno de esos MC.

Estoy armando una galería con fotos pequeñas que llaman a las fotos grandes, y todas las fotos se cargan al principio. Lo que necesito hacer es que las imagenes grandes aparezcan por fundido, y lo que me limita es que una vez sobrepasado el primer fotograma de la pelicula desaparecen las fotos que no fueron llamadas allí. (espero que se entienda bien)
Pregunto lo de las rutas porque me parece que puede ser la solución, pero si existe alguna forma mejor, bienvenida!

Gracias.

Por ezeslafer

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 30 Jul 2008 08:31 pm
Bueno en este post he situado una función que te puede ayudar, ya que puedes llamar a la función y esta por medio de movieClipLoader cargar un contenido en un movie:

http://www.cristalab.com/foros/t58925_ayuda-preloader-de-flash--problema-.html

Puedes utilizar varios paths y varios movieClips, solamente debes declarar:

Código :

genericLoad("movies/peli.swf", _root.contenedor);
genericLoad("images/foto.jpg", _root.foto_mc);


Solamente deberías eliminar la barra de loading, porque sino una solaparía a la otra

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 30 Jul 2008 09:19 pm
Grande, elchininet!
Me parece una solución maravillosa. Mañana lo pruebo y te comento como me fue.
Saludos.

Por ezeslafer

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 07 Ago 2008 09:57 am
Buenas...
elchininet, si estás ahí, me gustaría mostrarte el codigo (gracias Zguillez). Porque lo de la función genericLoad no me está dando resultado. Desde ya (obvio) mil gracias...

Código :

var precarga:MovieClipLoader = new MovieClipLoader();
precarga.addListener(this);
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 / list_swfs.length + 100 / list_swfs.length * cargando);
   preload.gotoAndStop(porcentajeTotal);
   preload.cargando.text = "Cargando: " + list_nombres[cargando];
}
function onLoadInit(clip:MovieClip)
{
   cargando++;
   cargaMultiple();
}
//--------------------------
function cargaMultiple(queX:Number, queY:Number)
{
   if (!cargando) {
      cargando = 0;
      this.attachMovie("preload", "preload", this.getNextHighestDepth());
      preload._x = queX;
      preload._y = queY;
   }
   if (cargando < list_swfs.length) {
      precarga.loadClip(list_swfs[cargando], list_contenedor[cargando]);
   } else {
      for (i = 0; i < list_swfs.length; i++) {
         this[list_contenedor[i]]._visible = true;
         this[list_contenedor[i]].play();
      }
      removeMovieClip(preload);
   }
}
//--------------------------
var list_swfs:Array = ["galeria_peq/01.jpg", "galeria_peq/02.jpg", 
                  "galeria_peq/03.jpg", "galeria_peq/04.jpg"];
var list_contenedor:Array = ["fot1", "fot2", "fot3", "fot4"];
var list_nombres:Array = ["Foto 1/30", "Foto 2/30", "Foto 3/30", "Foto 4/30"];
cargaMultiple(22.8, 520);
//--------------------------


Como podés ver acá abajo "fot1","fot2", etc. son los MC a donde quiero mandar las fotos 01.jpg, 02.jpg...
¿como le explico que fot1 y fot2 estan en un MC mientras que fot3 y fot4 están en otro?

Saludos.

Por ezeslafer

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 07 Ago 2008 11:52 am
No se por qué no te resultará la función, ya que es muy sencilla de implementar y trabaja todo el tiempo con variables locales, pero bueno vamos a esta:

Lo único que tienes que hacer para que cargue en diferentes movies, es eliminar las comillas y hacer una referencia completa a tus movies:

Código :

var list_contenedor:Array = [_root.contenedor.fot1, _root.contenedor.fot2, _root.otro.fot3, _root.otro.fot4];


Así el buscará la instancia del movie por su ruta completa.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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