11/09/2007, 11:39
|
| | Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 17 años, 2 meses Puntos: 0 | |
AYUDA CON CODIGO cargar img o swf aleatorios con fade Hola: Tengo un archivo swf con el cual cargo swf externos y provoco un fade en la transición de imágenes, el archivo funciona bien, pero tengo que solucionar un problema, ya que necesito que se cargen las imágenes en forma aleatoria y no en el orden que estan llamadas (primero carga pelicula1.swf y despues pelicula2.swf). Necesitaria que estas dos películas y todas las que se puedan agregar se carguen aleatoriamente. Por favor si alguien puede hacer algo con el código de abajo que me diga porque ya se me quemaron los libros, he intentado practicamente todo.
// -- la variable tiempo, controla la frecuencia
// -- con que se sucede el cambio de imagen
tiempo = 5;
// -- función que se encarga de crear un efecto de fundido
// -- entre la imagen saliente y entrante
transparencia = function (velocidad, actual, siguiente) {
// activo la pelicula siguiente
siguiente._visible = true;
this.onEnterFrame = function() {
if (actual._alpha<=0) {
actual._alpha = 0;
siguiente._alpha = 100;
// -- desactivo la pelicula anterior
actual._visible = false;
delete this.onEnterFrame;
}
actual._alpha -= velocidad;
siguiente._alpha += velocidad;
};
};
// -- array imagenes, cada elemento es una imágen
.................................................. .................................................. .......................
imagenes = new Array();
imagenes[0] = "pelicula1.swf"; ACA DEBE ESTAR EL PROBLEMA
imagenes[1] = "pelicula2.swf";
.................................................. .................................................. ......................
for (i=0; i<imagenes.length; i++) {
// -- creo un clip de pelicula contenedor por
// -- cada elemento que contiene el array
this.createEmptyMovieClip("holder"+i, i+100);
item = this["holder"+i];
// -- cargo la imagen en su respectivo clip contenedor
item.loadMovie(imagenes[i], i+100);
// -- escondo la imágen
item._alpha = 0;
// -- activo la propiedad _visible = false
// -- para evitar que se solapen botones en los
// -- películas en niveles inferiores
item._visible = false;
}
// -- provoco que se vea la primera imagen
item._alpha = 100;
// --
item._visible = true;
// -- creo un bucle que se repite cada intervalo de tiempo
// -- marcado por la variable tiempo
setInterval(function () {
// -- guardo en una variable el nombre de instancia
// -- siguiente
actual = _root["holder"+indice];
indice++;
// -- ruptura de control
if (indice == imagenes.length) {
indice = 0;
}
// -- defino el siguiente clip que se visualizará
siguiente = _root["holder"+indice];
// -- llamada a la función que hace el efecto fundido
transparencia(10, actual, siguiente);
}, tiempo*1000);
// - |