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

ir a un fotograma aleatoriamente

Estas en el tema de ir a un fotograma aleatoriamente en el foro de Flash y Actionscript en Foros del Web. Hola amigos; Tengo una pelicula de flash, lo que quiero es que al cargarse vaya aleatoriamente al fotograma 2,12,23,34 o 45 y no sé como ...
  #1 (permalink)  
Antiguo 26/03/2007, 04:53
Avatar de basurdetxo  
Fecha de Ingreso: julio-2005
Mensajes: 84
Antigüedad: 12 años, 5 meses
Puntos: 1
ir a un fotograma aleatoriamente

Hola amigos;
Tengo una pelicula de flash, lo que quiero es que al cargarse vaya aleatoriamente al fotograma 2,12,23,34 o 45 y no sé como hacerlo, alguien me podría ayudar,gracias.
__________________
www.asierlopez.net
  #2 (permalink)  
Antiguo 26/03/2007, 05:57
 
Fecha de Ingreso: enero-2007
Mensajes: 40
Antigüedad: 10 años, 10 meses
Puntos: 0
Re: ir a un fotograma aleatoriamente

Hola,

Tu algoritmo es sencillo. Yo generaria un numero aleatorio entre 1 y 5. Me crearia una funcion que generase este numero aleatorio y dependiendo si da 1,2,3,4,o 5 devolver el valor correspodiente. Por ejemplo si tu numero aleatorio devuelto es 1 entonces devuelve como resultado 2, si es 2 entonces devuelve 12... etc.

El pseudocodigo es el siguiente:
function getRandomFotograma () {
numAleatorio = randomEntre1y5(); //mira ayuda para implementar esto

if (numAleatorio == 1)
return 2;
if (numAleatorio == 2)
return 12;
if (numAleatorio == 3)
return 23;
if (numAleatorio == 4)
return 34;
if (numAleatorio == 5)
return 45;


}
  #3 (permalink)  
Antiguo 26/03/2007, 13:27
Avatar de PabloSutra  
Fecha de Ingreso: octubre-2006
Ubicación: Guadalajara, México
Mensajes: 222
Antigüedad: 11 años, 2 meses
Puntos: 0
Re: ir a un fotograma aleatoriamente

Hola basurdetxo:
Lo que podrias hacer es algo así, en tu primer frame pon:
Cita:
gotoAndPlay(random(_root._totalframes));
y así te empieza a correr la animacion desde un numero al azar entre los frames totales que tiene tu película
Espero te sirva
SALUD!!!
  #4 (permalink)  
Antiguo 26/03/2007, 13:28
Avatar de PabloSutra  
Fecha de Ingreso: octubre-2006
Ubicación: Guadalajara, México
Mensajes: 222
Antigüedad: 11 años, 2 meses
Puntos: 0
Re: ir a un fotograma aleatoriamente

Ok, perdon, no lei bien tu post, que nomas querias frames especificos, pido una disculpa
  #5 (permalink)  
Antiguo 01/04/2007, 04:45
Avatar de basurdetxo  
Fecha de Ingreso: julio-2005
Mensajes: 84
Antigüedad: 12 años, 5 meses
Puntos: 1
Re: ir a un fotograma aleatoriamente

perdonar por haber tardado tanto en responder,creo que la solución de skubiduu me va a valer, pero gracias tb a ti PabloSutra, seguro que en el futuro me hace falta utilizar ese código.
__________________
www.asierlopez.net
  #6 (permalink)  
Antiguo 01/04/2007, 10:15
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 13 años, 10 meses
Puntos: 7
Re: ir a un fotograma aleatoriamente

Si entendi correctamente, espero que esta funcion te ayude en lo que buscas:

Código:
MovieClip.prototype.saltarFramesRandom = function(framesSaltar:String, segundosPausa:Number) {
	//
	var thisMC:MovieClip = this;
	//
	var framesArray:Array = new Array();
	framesArray = framesSaltar.split(",");
	var cantFrames:Number = framesArray.length;
	//
	var hacerPausas:Number = setInterval(function () {
		thisMC.gotoAndStop(framesArray[random(cantFrames)]);
	}, 1000 * segundosPausa);
};
Esa funcion salta aleatoriamente a los frames que especifiques en el parametro "framesSaltar", con una pausa de X segundos que le digas en "segundosPausa".

Luego lo puedes aplicar directamente en el MovieClip que te interesa tenga el efecto de esta forma:

Código:
onClipEvent (load) {
	this.saltarFramesRandom("2,12,23,34,45", 6);
}
Asegurate que los frames a los que debe saltar el MC los separes por comas y sin espacios entre ellos y tambien que esten entre comillas, segun como ves.

Si no lo necesitas con pausa, entonces usa este codigo:

Código:
MovieClip.prototype.saltarFramesRandom = function(framesSaltar:String) {
	//
	var thisMC:MovieClip = this;
	//
	var framesArray:Array = new Array();
	framesArray = framesSaltar.split(",");
	var cantFrames:Number = framesArray.length;
	//
	thisMC.gotoAndStop(framesArray[random(cantFrames)]);
};
Y lo aplicas entonces asi:

Código:
onClipEvent (load) {
	this.saltarFramesRandom("2,12,23,34,45");
}
Estas funciones recogen la idea que te sugirio Skubiduu, pero te permite aplicarlas de forma mas facil a todos los MovieClips en los que necesites lo mismo. Si es lo que buscas, te haran el trabajo bien.
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 01/04/2007 a las 10:32
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 22:11.