Skip to content

Instantly share code, notes, and snippets.

@fenixkim
Created April 16, 2013 15:00
Show Gist options
  • Save fenixkim/5396640 to your computer and use it in GitHub Desktop.
Save fenixkim/5396640 to your computer and use it in GitHub Desktop.
Crea una galería de vistas previas en un riel Horizontal, deben tener las imágenes en la carpeta images
import com.goto.display.ImageView;
import com.goto.display.layout.HLayout;
import com.greensock.*;
import com.greensock.easing.*;
import flash.events.Event;
// Creo un layout horizotal para agregar las imágenes
var layout:HLayout = new HLayout();
// Agrego una separación de 10 px para cada objeto del layout
layout.gab = 10;
// Agrego el layout al escebario
addChild(layout);
// Organizo las imagenes en un arreglo de objetos
var images:Array = [{URL:"images/tn/image1.jpg"},
{URL:"images/tn/image2.jpg"},
{URL:"images/tn/image3.jpg"},
{URL:"images/tn/image4.jpg"},
{URL:"images/tn/image1.jpg"},
{URL:"images/tn/image2.jpg"},
{URL:"images/tn/image3.jpg"},
{URL:"images/tn/image4.jpg"}];
// Creo una función que crea un ImageView para cada imagen
function createImage(index:uint) {
// Creo la instancia de image view y detecto cuando la carga termina
var img:ImageView = new ImageView();
img.addEventListener(ImageView.LOAD_COMPLETE, onLoadComplete);
// Use scaleMode para que ajuste todas las imágenes al mismo alto
// y decide el ancho automáticamente
img.scaleMode = "fitToHeight";
// Espefico el alto para cada imagen
img.height = 200;
// Le digo al image view que carge la URL del arrelo de imágenes que esta
// en la posición 'index'
img.source = images[index].URL;
}
// Detecta cuando la imagen se completa de cargar
// y agrega el imageview al layout
function onLoadComplete(event:Event) {
var img:ImageView = event.currentTarget as ImageView;
layout.addChild(img);
// Creo una interpolación de entrada para cada imagen
TweenMax.from(img, 1, {alpha:0});
}
// Creo un contador iniciando en 0 por defecto
var count:uint;
// Uso for each, para recorrer cada elemento del arreglo
// de imagenes automáticamente y evito llamar la función
// manualmente muchas veces
for each(var obj:Object in images) {
// Ejecuto la función que crea la imagen
createImage(count);
// Incrementa el contador en 1
count++;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment