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

problema con random y arrays

Estas en el tema de problema con random y arrays en el foro de Flash y Actionscript en Foros del Web. Hola,soi novato en flash, estoy haciendo quea traves de 2 random se designen 1 array y que valor del array aleatoriamente, pero tengo un problema. ...
  #1 (permalink)  
Antiguo 23/11/2003, 13:45
Avatar de Ánima  
Fecha de Ingreso: julio-2002
Ubicación: Catalunya, Barcelona.
Mensajes: 538
Antigüedad: 21 años, 9 meses
Puntos: 1
problema con random y arrays

Hola,soi novato en flash, estoy haciendo quea traves de 2 random se designen 1 array y que valor del array aleatoriamente, pero tengo un problema.

mi codigo es:

vari1= array("esto","lootro");
vari2=array("akello","yy");

varia= 'vari' + random(2) + '[' + random(2) + ']' ;

mi problema es que cuando hago que se vea varia se ve vari1[2]( por ejemplo) en vez de lootro, como puedo solucionarlo?????

PD: tb ocurre que aveces el random puede dar 0 eso como lo soluciono?

PD2: que puedo hacer para que el random si hay muxos no se repitan?
  #2 (permalink)  
Antiguo 24/11/2003, 03:36
 
Fecha de Ingreso: octubre-2003
Ubicación: Granada
Mensajes: 481
Antigüedad: 20 años, 6 meses
Puntos: 1
hola a migo no estiendo q kieres decir aki :
varia= 'vari' + random(2) + '[' + random(2) + ']' ;

mi problema es que cuando hago que se vea varia se ve vari1[2]( por ejemplo) en vez de lootro, como puedo solucionarlo?????


lo otro q kieres mostrar?? en fin
creoq lo q kieres hacer es q el random te sirva tanto como pa la variable del array como pa el contenido es decir el mismo valor pues haz esto :
numero=random(2);
varia= 'vari' + numero + '['+ numero+']' ;
pero mjor q expliques mas exactamente loq kieres hacer,,,

si pones directamente random(2) te coge el 0 tb lo q puedes hacer sencillamente es al valor q te de sumarle uno
ejemplo random(2)+1;
pero bien si pones esto no te coge el dos asi q tienes q poner random(3)+1 si kieres q te coja tb el dos aki no te coge el 3
para q nose repita el random prueba a hacer una matriz dnd guardes el resultado de los random y asi controlas los numeros q te han salido ok??

Un saludo
__________________
la duda es el principio del saber
  #3 (permalink)  
Antiguo 24/11/2003, 12:08
Avatar de Ánima  
Fecha de Ingreso: julio-2002
Ubicación: Catalunya, Barcelona.
Mensajes: 538
Antigüedad: 21 años, 9 meses
Puntos: 1
pues en lo q n entiendes me refiero a q hay una matriz que se llama vari1[2], y dentro tiene un valor, pero al hacer esa operacion en vez de que me salga impresa el valor de vari1[2], me sale directamente vari1[2]. como puedo hacer para que salga su valor?
  #4 (permalink)  
Antiguo 06/03/2005, 05:33
Avatar de emule1234567  
Fecha de Ingreso: febrero-2005
Mensajes: 170
Antigüedad: 19 años, 2 meses
Puntos: 0
holass. yo tngo la duda de cómo hacer q no se repitan!! ayuda!!
  #5 (permalink)  
Antiguo 06/03/2005, 12:58
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Código:
//se crean los objetos
vari1 = new Array("esto", "lootro");
vari2 = new Array("akello", "yy");

//los arrays parten del índice 0, por ende si haces referencia a un vari1[2]
//te refieres a un 3 elemento que no existe, por ende deberías utilizar
valor=Math.round(Math.random()); //genera valor aleatorio 0 o 1
namArray=Math.round(Math.random())+1; //genera valor aleatorio 1 o 2
if(namArray==1) { varia=vari1[valor]; }
else { varia=vari2[valor]; }
Lo probé y funciona
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...

Última edición por goc00; 06/03/2005 a las 13:18
  #6 (permalink)  
Antiguo 06/03/2005, 14:51
Avatar de emule1234567  
Fecha de Ingreso: febrero-2005
Mensajes: 170
Antigüedad: 19 años, 2 meses
Puntos: 0
la verdad esq no lo he entendido mu bien.. un pequeño fla q me sirva d ayuda?? o una explicacion un poquillo mas detallada.. ??
muxas gracias d todas formas, saludos
  #7 (permalink)  
Antiguo 06/03/2005, 16:34
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
1) El código que puse era para responder el post de Ánima...
2) emule1234567 ¿qué necesitas tú?
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #8 (permalink)  
Antiguo 06/03/2005, 16:48
 
Fecha de Ingreso: agosto-2003
Ubicación: Lima-Peru
Mensajes: 33
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola, que tal si pruebas algo así:

//Devuelve un numero aleatorio entre el 5 y el 10, inclusives
function aleatorio(a:Number, b:Number):Number{
return Math.round((Math.random()*(b-a))+a);
}

var mi_arreglo:Array = new Array();
var num_elementos = 10;//Para 10 elementos x ejemplo
for (var i:Number = 0; i<num_elementos; i++){
mi_arreglo[i] = aleatorio(10,100);
}
  #9 (permalink)  
Antiguo 13/03/2005, 03:35
Avatar de emule1234567  
Fecha de Ingreso: febrero-2005
Mensajes: 170
Antigüedad: 19 años, 2 meses
Puntos: 0
holas.
en mi pelicula flash tengo dos escenas. En la segunda escena tengo 10 fotogramas clave a los que quiero acceder de forma aleatoria, pero sin que se repitan, es decir, que cuando salga uno, no vuelva a salir hasta que el resto hayan salido tambien. (no se si me explico bien...)
Mi idea para hacer es poner el codigo action script en el primer fotograma de la primera escena. Según leo, esto hay q hacerlo con arrays, pero no se mu bien cómo hacerlo... alguna ayudita???

Lo de las escenas me da lo mismo, si tiene q estar todo en la misma, perfecto, sin problemas. Lo expongo así para q el problema parezca mas claro...

UN SALUDO y gracias de antemano..
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 19:08.