No hace mucho tiempo me solicitaron un display de imágenes sin mayor complejidad mas que mostrar una sucesión de imagenes controladas por el usuario, si bien me podría haber vuelto loco usando ActionScript aquí y alla opte por la tradicional, no por que el proyecto no lo ameritara, sino porque los tiempos urgían y el resultado fue el siguiente.

placeholder for flash movie

Mi idea con éste post es la de mostrar con cuanta sencillez podemos solucionar algo que a veces llega a volvernos locos 😉 .

Básicamente esta compuesto por 1 Movie Clip y unas cuantas acciones que paso a describir.
Usaremos 3 capas ó layers (como gusten llamarles) en las cuales asignaremos (de abajo hacia arriba) a la primera el nombre de «movie clip», a la segunda el nombre de «logo» y a la tercera «acciones»

Necesitaremos principalmente 2 movie clips los cuales seran:

  • boton
  • mc-exhibidores

Creamos un movie clip con el nombre descriptivo «boton» el cual contendrá una image que sera el boton propiamente.
Crearemos un nuevo movie clip al cual le asignaremos un nombre descriptivo como podria ser «mc-exhibidores», en éste movie clip en su primer capa cargaremos 3 imagenes en frames diferentes y consecutivos, agregaremos una nueva capa y definiremos la accion «stop();» esto evitará que el movie clip se reproduzca automática e indefinidamente cuando lo ubiquemos en la escena principal; en una nueva capa pondremos nuestro botón dos veces, a uno le pondremos de nombre de instancia «siguiente» y al otro «previo».

Regresamos a la escena principal y arrastramos desde nuetra biblioteca el movie clip «mc-exhibidores» y le asignaremos como nombre de instancia «secuencia».
En la capa «acciones» en la escena principal indicaremos el siguiente ActionScript:

stop();
secuencia.siguiente.onRelease = function(){
if (secuencia._currentframe < secuencia._framesloaded) { secuencia.nextFrame(); } else { secuencia.gotoAndStop(1); } } secuencia.previo.onRelease = function(){ if (secuencia._currentframe > 1) {
secuencia.prevFrame();
} else {
secuencia.gotoAndStop(secuencia._framesloaded);
}
}

Básicamente lo que hacemos es controlar desde la escena principal y segun el botón que se presione («onRelease») el movie clip «secuencia» el cual contiene las imagenes en frames consecutivos para que avance («secuencia.nextFrame();») ó retroceda («secuencia.prevFrame();»).
Verán también que utilizo el condicional «if» y lo utilizo para saber en que frame se encuentra el cabezal de reproducción («secuencia._currentframe») y desido que hacer en los casos de haber llegado al último frame y apretar «siguiente» o de encontrarse el cabezal en el primer frame y apretar «previo».

Espero éste humilde aporte les ahorre dolores de cabeza, cualquier mejora que gusten hacerle les dejo aquí el fla para que jueguen con el. Descargar fla display de imágenes

Quisiera agradecer a la gente de dimensionarq quienes gentilmente me han permitido usar imagenes de su autoria para realizar éste ejemplo.