Foros del Web » Creando para Internet » Flash y Actionscript »

Galeria

Estas en el tema de Galeria en el foro de Flash y Actionscript en Foros del Web. buenas, quiero hacer una presentacion de fotos, la cual se valla mostrando una foto cada 5 segundos y que se cargen las imagenes desde un ...
  #1 (permalink)  
Antiguo 19/09/2006, 03:38
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
Galeria

buenas, quiero hacer una presentacion de fotos, la cual se valla mostrando una foto cada 5 segundos y que se cargen las imagenes desde un fichero externo, es posible hacer esto?
  #2 (permalink)  
Antiguo 19/09/2006, 08:57
 
Fecha de Ingreso: marzo-2005
Mensajes: 370
Antigüedad: 12 años, 9 meses
Puntos: 1
las imagenes las cargas con loadMovie desde un clip vacio al que llamas cargador, por ejemplo.

Hacer que se muestren sólo 5 segundos seria cosa de temporizarlo con AS, en lo que no estoy muy ducha. Mejor que te diga otro.
  #3 (permalink)  
Antiguo 19/09/2006, 09:24
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 13 años, 5 meses
Puntos: 53
es muy sencillo!!

nadamas ocupas la funcion setInterval(callBack:Function,time:Number):Number como parametros le pasas el nombre de la funcion que quieres ejecutar, y el segundo parametro es el tiempo, en milisegundos, que quieres que se ejecute la funcion, esto te regresa un ID, para que puedas detener el intervalo, con la funcion cleanInterval(ID:Number):Void, donde como parametro le pasas el ID que sele asigno.

para la carga de imagenes no te recomiendo usar loadMovie, mejor utiliza la clase MovieClipLoader, que tiene muchas mas ventajas y facilidades de manipulacion.... mmmmmm.... imagino que quedras hacer transiciones entre foto y foto, para eso te recomiendo le des una mirada a los filtros, para crear buenos efectos....

yo he hecho varias galerias, si te interesa, asi que si teneis alguna duda, pues por qui nos seguimos viendo....

have funnnnnnn
  #4 (permalink)  
Antiguo 19/09/2006, 12:06
 
Fecha de Ingreso: septiembre-2006
Ubicación: Monterrey N.L. Mexico
Mensajes: 29
Antigüedad: 11 años, 2 meses
Puntos: 0
Bueno yo en tu caso usaria una funcion y para cargar la pelicula loadMovie();, mira te puedo dar un ejemplo:
En el documento de flash haces un nuevo MC (Movie Clip) vacio, el cual lo vas a nombrar como "loader_mc" despues lo vas a colocar donde tu quieras. En el primer fotograma vas a poner esta funcion:


imagen = 1
function tiempo(){
tiempo = getTimer();
if (imagen eq 1) {
_root.loader_mc.loadMovie("imagen1.jpg");
} else if (imagen eq 2) {
_root.loader_mc.loadMovie("imagen2.jpg");
} else if (imagen eq 3) {
_root.loader_mc.loadMovie("imagen3.jpg");
} else {
_root.loader_mc.loadMovie("imagen1.jpg");
imagen = 1
}
if (tiempo > 500){
imagen = imagen + 1
} else if (tiempo > 1000){
imagen = imagen +1
} else if (tiempo > 1500){
imagen = imagen +1
}
}
var look = setInterval(tiempo, 1);


_____________________________________
bueno despues de poner este script en tu primer fotogorama solo encargate de exportrar el SWF a en el mismo fichero donde se encuentran tres imagenes que quieres que se cargen, y las vas a nombrar "imagen1.jpg" , "imagen2.jpg" y "imagen3.jpg" y asi susesivamente cuantas imagenes quieras.
Bueno si tienes dudas, nadamas mandame un mail o posteame en mi pagina web y con gusto te ayudare ;)
  #5 (permalink)  
Antiguo 19/09/2006, 19:02
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola karpoj23:
Visita mi página allí tienes un tutor que se llama: Galeria imagenes está en el botón EFECTOS y muchos más.

Espero que te sean de utilidad.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #6 (permalink)  
Antiguo 20/09/2006, 06:15
 
Fecha de Ingreso: marzo-2005
Mensajes: 370
Antigüedad: 12 años, 9 meses
Puntos: 1
Buenas, gracias Bandit por tu aportación sobre la galería, con transiccion encima, pero... no me va.

He copiado el codigo de tu web, y lo he puesto en el primer frame, capa acciones, y al lado del swf el archivo de texto llamado imagenes.txt con con el contenido, y la carpeta imagenes con las fotos. He probado a cambiar los nombres de las fotos, foto1.jpg en lugar de imagen1.jpg, y nada. Tambien he añadido un & al comienzo y al final del texto del archivo txt, y tampoco. Y he comentado las dos lineas donde creas movieclips, y los he creado yo sobre el escenario, con el mismo nombre de instancia, imagen1 e imagen2 y tampoco. No se, algo que debe ser muy tonto me esta fallando... Copio el codigo, a ver si he hecho alguna atrocidad...

Gracias de antemano si me echais un cable.

Código:
info = new LoadVars();
info.load("imagenes.txt");
info.onLoad = function(leer) {
	if (leer) {
		fotos = new Array();
		for (i=1; i<=info.total; i++) {
			fotos[i] = this["foto"+i];
		}
		//creamos dos mc vacios
		//_root.createEmptyMovieCLip("imagen1", 10);
		//_root.createEmptyMovieCLip("imagen2", 11);
		im = 1;
		imagen1.loadMovie("imagenes/"+fotos[im]);
		im++;
		imagen2.loadMovie("imagenes/"+fotos[im]);
		imagen2._alpha = 0;
		disol = 40;
		fijo = 70;
		count_d = 0;
		count_f = 0;
		curr_mc = 1;
		onEnterFrame = function () {
			if (curr_mc == 1) {
				count_f++;
				if (count_f>=fijo) {
					curr_mc = 2;
					cambio = "IN";
				}
			}
			if (curr_mc == 2) {
				if (cambio == "IN") {
					imagen2._alpha += 100/disol;
					if (imagen2._alpha>=100) {
						imagen2._alpha = 100;
						cambio = "FIJO";
						count_f = 0;
						im++;
						if (im == fotos.length) {
							im = 1;
						}
						imagen1.loadMovie("imagenes/"+fotos[im]);
					}
				}
				if (cambio == "FIJO") {
					count_f++;
					if (count_f>=fijo) {
						cambio = "OUT";
					}
				}
				if (cambio == "OUT") {
					imagen2._alpha = 100/disol;
					if (imagen2._alpha<=0) {
						imagen2._alpha=0;
						curr_mc = 1;
						count_f = 0;
						im++;
						if (im == fotos.lenght) {
							im = 1;
						}
						imagen2.loadMovie("imagenes/"+fotos[im]);
					}
				}
			}
		};
	}
};

Última edición por rakeljuice; 20/09/2006 a las 07:00
  #7 (permalink)  
Antiguo 20/09/2006, 06:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 370
Antigüedad: 12 años, 9 meses
Puntos: 1
Ya lo tengo!!!!!!!!!!!!! Bueno a medias.

Ya se produce la carga de imagenes. No habia guardado el txt como UTF8. Si alguien sabe explicar que significa este formato de texto, por favor, que lo aclare. Yo solo se que me ha funcionado.

Pero (siempre hay un pero) la foto 1 carga, la foto 2 carga con transiccion, la 3 carga de golpe y ahi se para. Ya no vemos la 4. El codigo del fla es el que he puesto en el anterior mensaje, y los movieclips los tengo en el escenario, porque creandolos con el codigo no me funcionan.

Gracias

Última edición por rakeljuice; 20/09/2006 a las 07:06
  #8 (permalink)  
Antiguo 20/09/2006, 10:46
 
Fecha de Ingreso: marzo-2005
Mensajes: 370
Antigüedad: 12 años, 9 meses
Puntos: 1
Hola de nuevo, en el anterior mensaje hay una linea de codigo por el final que esta mal: falta un -. Eso era lo que me fallaba. Ahora todo ok. (Bandit, lo he encontrado mirando con lupa tu web, mas que un - parece un .) Copio lo que estaba mal por si a alguien le viene bien el codigo completo. Gracias de nuevo Bandit por tus aportaciones y ayudas.

Código:
				if (cambio == "OUT") {
					imagen2._alpha -= 100/disol;
					if (imagen2._alpha<=0) {
						imagen2._alpha=0;
						curr_mc = 1;
						count_f = 0;
						im++;
						if (im == fotos.lenght) {
							im = 1;
						}
						imagen2.loadMovie("imagenes/"+fotos[im]);
					}
				}
			}
		};
	}
};
  #9 (permalink)  
Antiguo 20/09/2006, 11:40
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola rakeljuice:
Código para el primer frame:
Código:
info = new LoadVars();
info.load("imagenes_2.txt");
info.onLoad = function(leer) {
	if (leer) {
		fotos = new Array();
		for (i=1; i<=info.total; i++) {
			fotos[i] = this["foto"+i];
		}
		// Creamos un par de MovieClips_vacíos
		_root.createEmptyMovieClip("imagen1", 10);
		imagen1._x = 214;
		imagen1._y = 114;
		_root.createEmptyMovieClip("imagen2", 11);
		imagen2._x = 214;
		imagen2._y = 114;
		im = 1;
		imagen1.loadMovie("imagenes/"+fotos[im]);
		im++;
		imagen2.loadMovie("imagenes/"+fotos[im]);
		imagen2._alpha = 0;
		disol = 40;
		fijo = 70;
		count_d = 0;
		count_f = 0;
		curr_mc = 1;
		onEnterFrame = function () {
			if (curr_mc == 1) {
				count_f++;
				if (count_f>=fijo) {
					curr_mc = 2;
					cambio = "IN";
				}
			}
			if (curr_mc == 2) {
				if (cambio == "IN") {
					imagen2._alpha += 100/disol;
					if (imagen2._alpha>=100) {
						imagen2._alpha = 100;
						cambio = "FIJO";
						count_f = 0;
						im++;
						if (im == fotos.length) {
							im = 1;
						}
						imagen1.loadMovie("imagenes/"+fotos[im]);
					}
				}
				if (cambio == "FIJO") {
					count_f++;
					if (count_f>=fijo) {
						cambio = "OUT";
					}
				}
				if (cambio == "OUT") {
					imagen2._alpha -= 100/disol;
					if (imagen2._alpha<=0) {
						imagen2._alpha = 0;
						curr_mc = 1;
						count_f = 0;
						im++;
						if (im == fotos.length) {
							im = 1;
						}
						imagen2.loadMovie("imagenes/"+fotos[im]);
					}
				}
			}
		};
	}
};
El archivo imagenes.txt debe tener el código así:
foto1=foto1.jpg&foto2=foto2.jpg&foto3=foto3.jpg&fo to4=foto4.jpg&foto5=foto5.jpg&foto6=foto6.jpg&tota l=6

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:57.