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

Transición de imagenes aleatoria

Estas en el tema de Transición de imagenes aleatoria en el foro de Flash y Actionscript en Foros del Web. Hola, este es mi primer mensaje en el foro, un saludo a todos. Me gustaría que me indicaseis como hacer lo siguiente. Tengo una transición ...
  #1 (permalink)  
Antiguo 29/09/2006, 13:08
 
Fecha de Ingreso: septiembre-2006
Mensajes: 6
Antigüedad: 11 años, 2 meses
Puntos: 0
Transición de imagenes aleatoria

Hola, este es mi primer mensaje en el foro, un saludo a todos.

Me gustaría que me indicaseis como hacer lo siguiente. Tengo una transición de unas 6 imagenes muy simple (superposición de capas con un fade in en la capa superior) haciendo un bucle. Me gustaría saber como puedo hacer que cada vez que se cargue la película empiece por una foto distinta. Creo que podría ser tan sencillo como decirle que fuera al fotograma clave X y que esto fuera aleatorio para cada vez que se cargue el arxivo SWF. He de reconocer que no tengo mucha idea de Action Script.

El tema esta en que es un encabezamineto flash para una web no flash, en la que cada enlace carga la página entera. La idea sería que no empezara siempre la transición por la misma foto.

A ver si alguien me puede ayudar.

Saludos y felicidades por el foro.
  #2 (permalink)  
Antiguo 29/09/2006, 13:37
 
Fecha de Ingreso: mayo-2006
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
Hola,

Yo lo haría nominando a los fotogramas del 1 al 6. Y, al inicio del swf agregaría la función random (Math.random method) de esta manera:
Código PHP:
// Declaras los valores entre los cuales quieres que te saque un número aleatorio.
numeromayor=6;
numeromenor=1
// Se llama a la función y esto te dará un número aleatorio.
var n:Number Math.floor(Math.random() * (numeromayor numeromenor 1)) + numeromenor;
Vas al fotograma correspondiente
 gotoAndPlay
(n); 
Espero que te sirva
  #3 (permalink)  
Antiguo 29/09/2006, 13:37
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
en el primer fotograma de tu pelicula podes agregar algo como esto :

Código:
numero = int(random(6));//donde Int es para que salga el numero entero,
sin decimales y random elige un numero al azar entre 1 y 6
gotoAndPlay(numero);// La película va al fotograma (numero)
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP

Última edición por radarcba; 01/10/2006 a las 10:57
  #4 (permalink)  
Antiguo 30/09/2006, 19:01
 
Fecha de Ingreso: septiembre-2006
Mensajes: 6
Antigüedad: 11 años, 2 meses
Puntos: 0
Muchas gracias a los dos! El lunes lo pruebo y os comentó a ver que tal.

Saludos y gracias
  #5 (permalink)  
Antiguo 01/10/2006, 16:25
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 13 años, 5 meses
Puntos: 53
te recomiendo lo hagas con la primera opcion, es mas artistico

have funnnnnnnnn
  #6 (permalink)  
Antiguo 02/10/2006, 05:49
 
Fecha de Ingreso: septiembre-2006
Mensajes: 6
Antigüedad: 11 años, 2 meses
Puntos: 0
Bien, gracias de nuevo puesto que ambos scripts funcionan correctamente por lo que ya tengo el problema casi solucionado. Sólo me falta un detalle. En el segundo caso me escoge un fotograma aleatorio entre el 1 y el 600, que es lo que dura toda la película. Creo que ya es lo que debe hacer por como esta planteado el código. Sin embargo, en el primer código pensaba que empezaría siempre por un fotograma clave. No sé si esta era la idea, lo que hice fue poner como nombre de cada uno de los 6 fotogramas clave los números (1,2,3,4,5,6). Pues bien, si lo hago así me empieza siempre con la primera foto, supongo que toma como numeros del 1 al 6 los primeros 6 fotogramas de la película y no los nombres que yo le he dado a los fotogramas clave. Para que me funcione este primer código tengo que poner como numero mayor 600, pero entonces me encuentro con el mismo inconventiente que el segundo, me puede ir a cualquier fotograma intermedio de las transiciones.

Alguna sugerencia? no se si me he explicado bien... la idea sería hacerlo aleatorio sólo con los fotogramas clave con los que finalizan las transiciones, para que cuando se cargue la página no empiece la película en la mitad de alguna de las transiciones.

Gracias de nuevo y a ver si esto tiene solución.

Saludos
  #7 (permalink)  
Antiguo 02/10/2006, 09:28
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
Clansman pone el codigo que estas usando asi lo podemos revisar.
El ejemplo que te pase (el segundo) q si bien no es artístico ;), tendria que funcionar correctamente, lo acabo de probar.
www.radarflash.com.ar/archivos/random_6.rar
  #8 (permalink)  
Antiguo 02/10/2006, 09:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 6
Antigüedad: 11 años, 2 meses
Puntos: 0
Si, el código funciona bien. Lo que passa es que me mostraba aleatoriamente del fotograma 1 al 6 y yo tenía la siguiente estructura:
Capa 1: foto 1 desde el fotograma 1 hasta el 150 (con fade out final)
Capa 2: foto 2 desde el fotograma 120 al 300 (con fade out final)
Capa 3: foto 3 desde el fotograma 280 hasta el 450 (con fade out final)
(así hasta 6 capas)

Con tu código, creo que siempre me mostraba la foto 1 pq me elegia un fotograma entre el 1 y el 6, que todos corresponden a la foto 1. Entonces, si le ponia entre el 1 y el 900 si que me sacaba fotos distintas, pero claro, igual empezaba en medio de un fade out y quedaba feo.

Lo que he hecho ha sido agruparlo por símbolos (6 clips de película) y poner cada uno de ellos en los 6 primeros fotogramas. Entonces ya sale bien. Igual es un poco chapuza, si hay alguna manera de modificar estos códigos para que me lo haga sin necesidad de agupar cada transicion en un símbolo será bienvenida ;)

Gracias de nuevo
Saludos
  #9 (permalink)  
Antiguo 02/10/2006, 09:53
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
ok. Lo que tenes que hacer entonces es un condicional.

Código:
if (numero == 1) {

gotoAndPlay (1);

}
if (numero == 2) {

gotoAndPlay (120);

}
if (numero == 3) {

gotoAndPlay (280);

}
y asi sucesivamente hasta la 6.

fijate si podes resolverlo asi ! .
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 11:22.