Comunidad de diseño web y desarrollo en internet online

Crear un efecto lightwindow con as2

Citar            
MensajeEscrito el 07 Feb 2011 01:16 pm
Hola:
Desde hace ya bastante tiempo estoy intentando implementar un efecto lightwindow con as2 pero me está resultando misión imposible. Aunque he encontrado tutoriales sobre este tema, al probarlos, no me han funcionado. Estoy desesperada, necesito encontrar un tutorial que explique de manera clara cómo hacer este tipo de efecto para una galería de imágenes. Por favor, necesito su ayuda.
Gracias.

Por Loli

27 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Feb 2011 01:54 am
Pues más que un tutorial busca una clase ya armada para usarla. Yo encontré en una rápida búsqueda esto: http://activeden.net/item/flash-lightbox-as2-version/22029

Aunque si quieres tenerlo tu mismo armado, pues te recomiendo empezar a codear y te vamos guiando en las cosas que te traben (No es muy difícil por cierto).

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 08 Feb 2011 10:47 am
Hola Hernán:
Gracias por contestar. Acabo de echarle una ojeada al enlace que me indicas, y aunque está muy bonito, no es exactamente lo que ando buscando. Sería tener unas miniaturas que al pinchar sobre ellas se abriera el lightbox o alguna ventana modal parecida, con su botón de next, previus y close (como en el ejemplo que me indicas). He llevado a cabo un ejemplo que encontré en:
http://www.codigometropoli.com/oscurecer-pagina-con-thickbox-y-lightwindow-desde-flash/,
pero no me funciona ni con thickbox ni con lightbox. Al pinchar sobre una de las miniaturas no me hace nada. No sé si tendrá que ver en cómo tengo la estructura de la web. Tendo un index.html que contiene un .swf (que es una intro) y que llama a otro .html que contiene otro .swf (tiene un menú), y a partir de éste se van llamando a otros .swf. Es en este .html donde pongo el código que se indica en el ejemplo. A pesar de seguir la indicaciones de este ejemplo no consigo que me funcione.
Espero que me puedas ayudar.
Gracias y saludos.

Por Loli

27 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 Feb 2011 11:05 am
Ese ejemplo que anotas, está armado para comunicar al JS del Lightbox con Flash, pero no es interno de Flash. No funcionará a menos este montado en un HTML, con los JS de Lightbox y la estructura general.

Si mal no entendí tu quieres hacerlo sobre Flash. De todas formas, no es muy jodido hacerlo desde AS2.

Lo único que tienes que hacer es:


  • Cada imagen debe tener asignado un botón, cada botón un ID
  • Al presionar una imagen, primero cargas un SWF en un level alto (Por ej. 1000). Ese SWF tiene la animación de apertura del LightBox
  • Luego simplemente cargas con loadMovie la imágen según el ID del botón presionado
  • Los anterior y siguiente, son solo ID -- y ID ++


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 08 Feb 2011 06:46 pm
Hola:
El primer paso lo entiendo, a partir del segundo, me pierdo. Perdona que no capte tus explicaciones, creo que necesito una explicación para tontos. Seguiré buscando, aunque agradeceré tu ayuda.
Saludos y gracias.

Por Loli

27 de clabLevel



 

msie7
Citar            
MensajeEscrito el 09 Feb 2011 01:53 am
Comienza por preparar separado, un SWF nuevo, que tenga la animación de entrada, un frame dónde mostraremos la info y una animación de salida (Se puede hacer 100% programación, pero creo este es el camino más viable si tienes pocos conocimientos de AS).

Una vez tengas eso, pones en frame del medio un stop(). En el frame final un "unloadMovieNum(1000)".

Ahora cuando quieres llamar a esta pelicula, desde los thumbnails haces:

Código ActionScript :

for(var i:Number = 0; i<cant_botones;i++){
   this["btn_"+i].id = i;
   this["btn_"+i].onRelease = loadSWF;
}


La función loadSWF es sencilla:

Código ActionScript :

function loadSWF():Void{
   loadMovieNum("pelicula_externa.swf",1000);
   selected_item = this.id;
}


Ahora cuando llegue el momento de que pelicula_externa.swf llega su stop() (Frame del medio), pones en ese frame:

Código ActionScript :

clip.loadMovie("carpeta/"+_level0.selected_item+".jpg");


El botón de cerrar es un mero "play();" para ir a next lo que tienes que hacer es:

Código ActionScript :

_level0.selected_item++;
clip.loadMovie("carpeta/"+_level0.selected_item+".jpg");


Para ir al anterior debes haxer:

Código ActionScript :

_level0.selected_item--;
clip.loadMovie("carpeta/"+_level0.selected_item+".jpg");


Lógicamente faltan los if que evalúen que no sea menor a 0 (Atrás) o mayor a la cantidad de fotos que tienes (Siguiente).

Puedes evitar llamar "1.jpg,2.jpg" a las imágenes, usando Arrays y las posiciones. Pero para empezar creo es suficiente guía. Si tienes más dudas me avisas.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 10 Feb 2011 11:04 am
Hola:
Y gracias por tu ayuda. Creo que lo he entendido. Lo voy a probar. Si tengo alguna duda espero que no te importe que te la comente.
Muchas gracias y saludos.

Por Loli

27 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Feb 2011 02:51 am

Loli escribió:

Hola:
Y gracias por tu ayuda. Creo que lo he entendido. Lo voy a probar. Si tengo alguna duda espero que no te importe que te la comente.
Muchas gracias y saludos.


Claro, cualquier duda mencionala.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome

 

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