Comunidad de diseño web y desarrollo en internet online

Carga de escenas de forma aleatoria

Citar            
MensajeEscrito el 08 Abr 2010 06:17 pm
Hola amigos.
Estoy intentando programar un botón que me lleve, desde una escena principal y de forma aleatoria, a una de las cinco escenas restantes que tiene mi proyecto. También sería interesante, aunque no obligatorio, que las escenas no se repitiesen con demasiada frecuencia.
Agradecería cualquier ayuda al respecto.
Encontré un código interesante para colocar en un fotograma:

stop ();
num = random(3);
switch (num)
{
case 0:
{
gotoAndPlay(2);
break;
}
case 1:
{
gotoAndPlay(3);
break;
}
case 2:
{
gotoAndPlay(4);
break;
}
default:
{
trace ("no case tested true");
}
} // End of switch

pero no he conseguido adaptarlo a un bot´çon.
Agradecería cualquier ayuda.

Saludos.

Por gaiterujp

8 de clabLevel



 

msie8
Citar            
MensajeEscrito el 08 Abr 2010 07:19 pm
vas a tener que leer un poco de Math.random()
no es muy dificil pero te hace pensar.. buscá en la ayuda de adobe flash cs3

Math.random() escoge un valor aleatirio del 0 al 1, ese valor hacés lo multiplicás por el límite máximo(3) y le restás al resultado el límite mínimo(1) y le sumás uno para que se ajuste, que sea entero con Math.floor y al resultado le restás el límite mínimo (1):

Código ActionScript :

limite_max = 3;
limite_min= 1;
siguientepelícula = Math.floor(Math.random()*(limite_max - limite_min +1))+limite_min;


ahora tenés la variable que es aleatoria y la podés usar apara que carge tal película según el número de la variable

Espero que pueda ayudarte. Nos vemoss

PD: Lo otro me imagino pero la verdad que no tengo bien claro como hacerlo... tal vez podés registrar las películas reproducidas en una variable o algo por el estilo

Chauuu

Por negal

20 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Abr 2010 07:45 pm
Gracias por tu respuesta, pero no tengo CS3, estoy con flash 8 y, como mucho ActionScript 2.
Agradecería cualquier ayuda.

saludos.

Por gaiterujp

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Abr 2010 07:48 pm
es lo mismo porque eso es action script 2.0

la ayuda de flash cs3 está también en 2.0
fijate ;)

Por negal

20 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Abr 2010 07:54 pm
Te agradezco mucho tu ayuda y orientación, pero no llego a ese nivel.

Gracias.

Por gaiterujp

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Abr 2010 08:22 pm
Se me ocurre lo siguiente :

Código ActionScript :

limite_max = 3; 
limite_min= 1; 


on(relese){
siguientepelicula = Math.floor(Math.random()*(limite_max - limite_min +1))+limite_min; 

switch (siguientepelicula)
{
case 0:

gotoAndPlay(2);
break;

case 1:

gotoAndPlay(3);
break;

case 2:

gotoAndPlay(4);
break;

default:
//aqui pondria cualquier otra cosa que me gustaria que mostrase si no hay opción válida 
trace ("no case tested true");
break;
} // End of stch

 

}//fin onRelese

Y para que no se repitan seguido aumentaria el valor de la semilla del Random , si tengo valores bajos los numeros se reperiran más, pero si a una semilla de 3 la trasformo en 30 y el resultado lo divido por 10 tendria que tener menos repeticiones ,los mejores resultados los consegui de esta manera .

Código ActionScript :

siguientepelícula = Math.floor( ( Math.random() * 30 ) / 10 ); 


asi tambien tendriamos al "0" como resultado , ya que lo necesitamos (case 0:);

Saludos

PD: no pongan los acentos en el código.

Por maximil13

70 de clabLevel



Genero:Masculino  

Programador, estudiante de sistemas.

firefox
Citar            
MensajeEscrito el 08 Abr 2010 08:33 pm
disculpen corrijo un poco el codigo más AS2 (es que ya lo uso poco ).


siguientepelícula = Math.floor( ( ( 30 ) ) / 10 );

Saludos

Por maximil13

70 de clabLevel



Genero:Masculino  

Programador, estudiante de sistemas.

firefox
Citar            
MensajeEscrito el 08 Abr 2010 08:38 pm
Uppss...Me lie disculpas :oops:

Código ActionScript :

siguientepelícula = Math.floor( random ( 30 ) / 10 );

^^

Por maximil13

70 de clabLevel



Genero:Masculino  

Programador, estudiante de sistemas.

firefox
Citar            
MensajeEscrito el 08 Abr 2010 11:10 pm
Muchas gracias

Por gaiterujp

8 de clabLevel



 

msie8

 

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