Adobe User Groups

Aplicaciones

Artículos

Concursos

Device Central

Home » Ejemplos, Tutoriales

Tutorial Flash Lite: Cómo cargar imágenes en bucles

Enviado por: Raul Jimenez en Miércoles, 17 octubre 20073 comentarios

Uno de los principales problemas en Flash Lite es que no podemos cargar más de 5 imágenes en un bucle, con lo que tenemos que ir controlando las cargas para saltar de imagen a imagen.

Desde hace bastante tiempo estoy usando QueueLoader de Betriebsraum y la verdad que cuando la he probado en el móvil he visto que funciona a la perfección, y la clase es tan sencilla que solamente aumenta el peso de la aplicación en unas 2kbs.

Pero bueno, vamos manos a la obra...

Primero de todo, bajar e instalar la extensión QueueLoader de Betriebsraum.

Ahora abrir un FLA nuevo, ponéis como tamaño de escenario 176x208, 18 FPS, publicación para Flash Lite 2.0 y color de fondo negro.

Una vez hecho esto abrir el panel de acciones y en el fotograma 1 ponéis este código:

Actionscript:
  1. import de.betriebsraum.loading.QueueLoader;
  2.  
  3. //Quitamos el foco
  4. _focusrect = _global.useFocusRect == false;
  5.  
  6. //Ponemos el modo a pantalla completa
  7. fscommand2("fullscreen", "true");
  8.  
  9. //Propiedades del Stage
  10. Stage.align = "TL";
  11. Stage.scaleMode = "noScale";
  12.  
  13. var qLoader:QueueLoader = new QueueLoader();
  14. var x:Number = 0;
  15. var y:Number = 0;
  16.  
  17. //Añadir eventos
  18. qLoader.addEventListener("onItemInit", this);
  19. qLoader.addEventListener("onQueueInit", this);
  20.  
  21. //Añadimos los items a cargar
  22. for (var i=0; i<10; i++)
  23. {
  24. var temp_mc:MovieClip = this.createEmptyMovieClip("foto" + i, i);
  25. temp_mc._x = 55 * x + 10;
  26. temp_mc._y = 55 * y + 10;
  27.  
  28. x++;
  29. if (x == 3)
  30. {
  31. x = 0;
  32. y++;
  33. }
  34.  
  35. qLoader.addItem("thumbs/00" + i + ".jpg", temp_mc, {name:"thumbnail" + i});
  36. }
  37.  
  38. //Iniciamos la carga de imágenes
  39. qLoader.execute();
  40.  
  41. //Listeners
  42. function onItemInit(evObj:Object)
  43. {
  44. trace("INIT: " + evObj.target_mc);
  45. }
  46. function onQueueInit(evObj:Object)
  47. {
  48. trace("Carga finalizada");
  49. }

Y ya está!!!

QueueLoader se encarga de hacer las cargas una a una en vez de ejecutarlas todas en un bucle. Además, podemos saber cuando se ha cargado una imagen o se ha acabado la lista entera, a través de varios listeners que tiene.

Conclusión: Extensión 100% recomendable para los programadores Flash Lite 2.X ;)

Descargar archivos del tutorial

Compártenos:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • Netvibes
  • RSS
  • Technorati
  • Twitter
  • Yahoo! Bookmarks

3 Comments »

  • Muy bueno. Gracias. Ah… y ese famoso LayoutManager? pa cuando? haz un aleatorio a ver si nos toca. ;)

  • Raul Jimenez dice:

    Gracias ^^

    El LayoutManager saldrá dentro de muuuuuuy poquito, paciencia que merece la pena ;)

    Un saludo!!

  • Marcos dice:

    El LayoutManager esta pendiente de 2 ampliaciones para que sea un Sr. LayoutManager, ahora de momento es el “jovencito” LayoutManager :)

    En cuanto tenga 1 hora libre para dedicarle (traducción: en cuanto pueda robarle una hora mas a mi sueño), lo terminaré. Espero y deseo obligarme a que sea antes del 20 de Octubre.

    Genial el tutorial Raul, muy bueno ese componente! Yo hasta la fecha todas las cargas masivas las tenia que hacer en reacción a las peticiones del usuario, con lo que tenia algo montado de ese estilo para cargar por partes.

    Y sobre este tema,. la limitación exacta es esta:
    “Flash Lite limits to five the number of loadMovie() operations that an application can perform in a given frame, and 10 total operations at any one time”.

    Saludos!

Leave a comment!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.