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

Imagen aleatoria

Estas en el tema de Imagen aleatoria en el foro de Flash y Actionscript en Foros del Web. tengo una secuencia de imágenes que quiero que se presenten de modo aleatorio cada vez que se inicia el clip. Me podeis ayudar?...
  #1 (permalink)  
Antiguo 24/02/2007, 09:20
 
Fecha de Ingreso: julio-2006
Mensajes: 57
Antigüedad: 11 años, 5 meses
Puntos: 0
Imagen aleatoria

tengo una secuencia de imágenes que quiero que se presenten de modo aleatorio cada vez que se inicia el clip.

Me podeis ayudar?
  #2 (permalink)  
Antiguo 24/02/2007, 09:35
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 10 años, 9 meses
Puntos: 0
Re: Imagen aleatoria

Para hacerlo rapido y sencillo, lo primero que tienes que hacer es ordenar estas fotos en una misma carpeta.. pongamos como ejemplo "/fotos/" y a cada imagen renombrarla con "imagen_" + numero + ".jpg" .. osea que tendriamos "imagen_1.jpg","imagen_2.jpg",..."imagen_n.jpg ". Una vez realizado esto, en flash, creamos un objeto contenedor.. osea un MC vacio y lo colocamos en la escena. Le damos un nombre al objeto.. ejemplo: "loader".

Una vez que tenemos esto, en el primer frame de la pelicula colocamos el siguiente codigo AC
Código:
// Funcion que nos obtiene el numero aleatorio
function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
}

maxnum = 4 // suponiendo que tenemos solo 4 imagenes en la carpeta

loadMovie("imagen_" + randRange(1,maxnum) + ".jpg","loader");
Con eso tendria que funcionarte. Fijate que la variable maxnum contiene el valor maximo de la imagen...

Espero que sea de ayuda mi aporte. Saludos!
  #3 (permalink)  
Antiguo 24/02/2007, 09:45
 
Fecha de Ingreso: julio-2006
Mensajes: 57
Antigüedad: 11 años, 5 meses
Puntos: 0
Re: Imagen aleatoria

creo que me expliqué mal!!

tengo un clip que va pasando varias fotos una a una y lo que quiero es que no empiece siempre en el fotograma 1(que se corresponde a la primera imagen) sino a veces en el fotograma 25 (correspondiente a la 2ª imagen) el 50 (correspondiente a la 3ª)...
  #4 (permalink)  
Antiguo 24/02/2007, 10:02
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 10 años, 9 meses
Puntos: 0
Re: Imagen aleatoria

hmmmm mas complicado, entonces lo que tenes que hacer es con la misma funcion hacer que cuando empieze empieze aleatoriamente en cada una de las fotos
Pero para ello deberas crear variables que contengan la posicion de cada foto... pongo un codigo y me dices si te sirve
Código:
// Funcion que nos obtiene el numero aleatorio
function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
}

//aqui vamos colocando las variables que nos indican la posicion del fotograma de cada foto

foto_1 = 1;
foto_2 = 25;
foto_3 = 50;
// ...y asi sucesivamente con cada fotografia y su respectivo fotograma

numfotos = 3; // esta variable indica la cantidad de fotos que tenemos

gotoAndPlay(eval("foto_" + randRange(1,numfotos)));
Supongo que eso deberia funcionar.. cualquier cosa vuelve a postear

saludos!
  #5 (permalink)  
Antiguo 24/02/2007, 10:04
 
Fecha de Ingreso: julio-2006
Mensajes: 57
Antigüedad: 11 años, 5 meses
Puntos: 0
Re: Imagen aleatoria

Estás seguro de que la función está bien?
me da los siguientes errores

**Error** Símbolo=page1, capa=Capa 4, fotograma=1:Línea 1: Se espera '{'
function randRange(min:Number, max:Number):Number {

**Error** Símbolo=page1, capa=Capa 4, fotograma=1:Línea 4: Se ha detectado un '}' inesperado
}

Total de errores de ActionScript: 2 Errores comunicados: 2
  #6 (permalink)  
Antiguo 24/02/2007, 10:42
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 10 años, 9 meses
Puntos: 0
Re: Imagen aleatoria

prueba con esta ahi me funciona correctamente.

Código:
/ Funcion que nos obtiene el numero aleatorio
function randRange(min, max) {
    var randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
}
saludos!
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 23:13.