Tema: flash +flash
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/04/2005, 19:01
Avatar de junihh
junihh
 
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 10 meses
Puntos: 7
Te sugiero capturar las fotos externas en vez de que todas esten insertas dentro del swf, asi cargaran mas rapido. Para eso puedes hacer lo siguiente:

1) Te creas en el stage un movieclip vacio con el centro de este en la esquina superior izquierda, porque siempre a partir del centro del MC es que aparecen los objetos cargados y le pones como nombre de instancia cargador_mc.

2) Luego aplicas este codigo en el frame 1 de la pelicula:
Código:
var directorio = "fotos/";
var cantFotos = 10;
function rotadorFotos() {
	while (graficaNum == lastGraf) {
		graficaNum = Math.floor(random(cantFotos)+1);
	}
	lastGraf = graficaNum;
	cargador_mc.loadMovie(directorio+lastGraf+".jpg");
}
rotadorFotos()
En "var directorio" sustituyes a "fotos/" por el nombre que uses para el, pero dejandolo entre comillas y con la barra. Y en "var cantFotos" sustituyes el 10 por el total de fotos en ese directorio.

Una cosa importante a este nivel, todas las fotos deben denominarse 1.jpg... 2.jpg... 3.jpg... etc para funcionar con ese script y ademas todas deben ser en jpg, como creo te habras dado cuenta

3) En el frame 2 aplicas un blank keyframe y en el frame 3 otro donde pones este script:
Código:
totalCargado = Math.floor(cargador_mc.getBytesLoaded()/cargador_mc.getBytesTotal()*100);
if (totalCargado == 100) {
	gotoAndStop(4);
} else {
	gotoAndPlay(2);
}
En este caso, si quieres poner una barra que muestre el porciento cargado, entonces añades una linea adicional: barra_mc._xscale = totalCargado. Esa linea la pones bajo "totalCargado = ...". Luego en el stage creas un rectangulo del largo y color que quieras, lo conviertes en movieclip y le pones como nombre de instancia barra_mc.

4) Finalmente, en el frame 4 aplicas lo siguiente:
Código:
var segundos = 5;
function pausar() {
	stop();
	espera = function () {
		play();
		clearInterval(pausarAhora);
	};
	pausarAhora = setInterval(espera, segundos*1000);
}
Con esto lo que haces es originar una pausa por la cantidad de segundos que pongas en "var segundos".

Eso es todo... simple no???


NOTA: si deseas que tengan transiciones, se complica un poco mas, asi que entonces preferiria pasarte una copia de un trabajo en el que aplique eso que te describi con transiciones incluidas.
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 14/04/2005 a las 19:27