Comunidad de diseño web y desarrollo en internet online

Accion que mande aleatoriamente a un par de fotogramas

Citar            
MensajeEscrito el 13 Feb 2006 01:43 am
haber... es simplemente esto... no se si se podrá hacer pero bueno... resulta que lo que busco es que al acabar una animacion o una interpolacion llegue a un fotograma que ejecute un gotoandPlay a un fotograma aleatorio, claro que no a cualquiera de la linea de tiempo sino a unos 9 que esten definidos, algo asi como la "base de datos" de donde la accion escoge aleatoriamente un fotograma... esta claro??? si... no... bueno... explicando mejor... empieza en un alfa de una imagen... acaba.. viene el fotograma con la funcion que busca aleatoriamente, estan los fotogramas 2,6,11,16 y 21, o mejor aun las etiquetas de los fotogramas, f1, f2, f3, f4 y f5, la funcion escoge al azar una de esas etiquetas y hace un gotoandPlay a la etiqueta elegida ejemplo f1, ejecuta la accion gotoAndPlay ("f1"); , corre la animacion luego viene otro fotograma con la accion y se hace lo mismo... ahora si me entienden???... .si... bueno....
Es posible hacer eso???? que funciones o q debo de poner en el fotogramaclave que hace esa accion...

Gracias

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 13 Feb 2006 02:17 am
Creo que poniendo este codigo en la linea de tiempo deberia de funcionarte

Código :

// generamos un numero aleatorio de 0 a 4
var aleatorio:Number = random(5);
// y le sumamos 1 para que coincida con la numeracion [si pones de f0 a f4 no hace falta]
var num:Number = aleatorio+1;
// hacemos el salto de fotograma
gotoAndPlay("f"+num);
// si pones de f0 a f4 seria gotoAndPlay("f"+aleatorio);

Por Animatek

419 de clabLevel

3 tutoriales

Genero:Masculino  

Diseñador grafico web

opera
Citar            
MensajeEscrito el 13 Feb 2006 02:25 am

Código :

gotoAndPlay("f" + (random(5)+1));

Por gparis

112 de clabLevel



 

Uruguay

opera
Citar            
MensajeEscrito el 16 Feb 2006 12:00 am
me sirvio de mucho... ya lo arregle... pero hay muchas veces que me manda 3 veces seguidas al mismo inicio... no hay manera de que el siguiente que vaya no sea el mismo, no repita de nuevo la misma animacion...
Gracias

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 16 Feb 2006 12:26 am
Guarda el valor del random en una variable... y cuando hagas el siguiente random, preguntale con un IF si son iguales... en caso de que lo sean, que vuelva a hacer otro random...

Y cuando sea diferente, que haga lo que tenga que hacer

Por Animatek

419 de clabLevel

3 tutoriales

Genero:Masculino  

Diseñador grafico web

opera
Citar            
MensajeEscrito el 16 Feb 2006 01:40 am
primero guardaria el gotoandplay, pero como??? el if si lo manejo pero eso de guardar el random no lo entiendo....

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 16 Feb 2006 10:53 am
Mira, si guardas el random en una variable, cuando vuelvas a hacer el siguiente random puedes comprobar si son iguales... si es asi, te llebaria al mismo fotograma, y como no quieres eso, pues volverias a hacer otro random...

Código :

//creamos las variables
var aleatorio:Number=random(5);
var aleatorio2:Number = aleatorio;

// hacemos una funcion con al comparacion
function compara() {
   if (aleatorio == aleatorio2) {
      aleatorio = random(5);
      compara();
   } else {
      aleatorio2 = aleatorio;
      gotoAndPlay(aleatorio);
   }
}

// llamamos a la funcion. Esta llamada ponla donde corresponda
compara();

Por Animatek

419 de clabLevel

3 tutoriales

Genero:Masculino  

Diseñador grafico web

opera
Citar            
MensajeEscrito el 18 Feb 2006 01:13 am
uhmmmmm.... sorry pero... me manda al mismo f... supongo xq no aplico bien la llamada a compara(); me puedes dar una aclaracion sobre eso???

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 18 Feb 2006 01:25 pm
Bueno, deberias de crear la animacion esa que quieres que salte en un clip de pelicula, y poner la funcion en al linea de tiempo principal, asi

Código :

//creamos las variables
var aleatorio:Number = random(5);
var aleatorio2:Number = aleatorio;
// hacemos una funcion
function compara() {
   // comparamos si son iguales las 2 variables
   if (aleatorio == aleatorio2) {
      // si lo son, volvemos a generar aleatoriamente una de ellas
      aleatorio = random(5);
      // volvemos a llamar a la funcion
      compara();
   } else {
      // si no lo son, vamos al fotograma deseado del clip anima_mc
      anima_mc.gotoAndPlay((aleatorio*2)+1);
      // igualamos las variables, para la proxima comparacion
      aleatorio2 = aleatorio;
      //trace(aleatorio);
   }
}
// Llamamos a la funcion, para empezar la animacion
compara();
// Tambien hay que llamarla desde el clip anima_mc... cada vez que acabe de hacer su mini animacion



De todas formas te he hecho un archivo para que lo veas mejor... a ver si te sirve

Descargatelo de aqui

Es muy simple, pero veras que funciona, y asi igual te aclaras mejor :wink:

Por Animatek

419 de clabLevel

3 tutoriales

Genero:Masculino  

Diseñador grafico web

opera
Citar            
MensajeEscrito el 19 Feb 2006 05:10 pm
GRACIAS!!!!

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 19 Feb 2006 11:10 pm
uhmmmm, funciona perfecto gracias!!! pero usando las imagenes me dicen que se demora mucho... por el peso... por eso tengo que cambiar al loadmovie... adapte el codigo para LoadMovies... pero ahora no me cambia... como hago para que al acabar una pelicula cargada se llame a la funcion compara() de la pelicula que ha cargado a otra movie clip... es decir... acaba la animacion de la pelicula cargada y se haga esa funcion????

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.