Comunidad de diseño web y desarrollo en internet online

Actionscript 3. Extraer elementos de un listado a un campo de texto

Citar            
MensajeEscrito el 12 Dic 2013 05:21 pm
Hola.
A ver si alguien me puede ayudar con esto.

Por un lado tengo un listado de palabras que están dentro de la variable "palabras" y por otro un campo de texto dinámico. Necesito extraer palabras del listado y que aparezcan en el campo de texto dinámico, sin que se repitan.
No sé si estos datos son suficientes para que me podáis indicar el código en actionscript 3.

Muchas gracias de antemano por vuestra ayuda.

Un saludo
--
dalogo

Por dalogo

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Dic 2013 09:01 pm
Busca por "aleatorio sin repetir" y encontrar[as varios hilos. de todas formas el res[umen del algoritmo

Código ActionScript :

var palabras:Array = ["uno", "dos", "tres", "cuatro", "cinco", "seis"]
function getRandom(lista:Array):Object{
     return lista.splice(int(Math.random()*lista.length), 1);
}
var tot:Number = palabras.length
for(var i:Number = 0; i<tot; i++){
   trace(getRandom(palabras))   
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Dic 2013 06:03 pm
Hola Jorge.

Muchas gracias por tu respuesta y tu rapidez.

Ahora me surge otro problema.
Tengo un campo de texto dinámico llamado "campo_texto" y quiero que en él aparezcan de forma aleatoria las palabras de la variable "palabras"

Entiendo que el código sería así:

campo_texto.text=(getRandom(palabras));

pero no consigo que funcione.
Me podrías decir dónde está el error?

Muchas gracias otra vez
--
dalogo

Por dalogo

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Dic 2013 06:09 pm
Cada llamada te devuelve una sola palabra, dentro del loop donde puse

trace(getRandom(palabras))

Cambialo por ejemplo a

campo_texto.text += getRandom(palabras);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Dic 2013 05:54 pm
Hola Jorge.
Muchas gracias por responderme otra vez. Perdona que no haya contestado antes pero no he podido probarlo hasta hoy.

Funciona perfectamente salvo por un pequeño detalle. En lugar de aparecer una palabra sola, aparecen una detrás de otra hasta que se llena el campo de texto.

Me podrías decir cómo solucionar esto para que solo aparezca una palabra cada vez?

Gracias otra vez y perdona que sea tan pesado.

Un saludo
--
dalogo

Por dalogo

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Dic 2013 06:07 pm
Esto es porque está dentro de un loop que recorre todo el array, si quieres ejecutarlo una sola vez, no lo pongas entro del loop

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Dic 2013 06:09 pm
Ok. Ahora funciona perfectamente.

Muchas gracias otra vez.

Un saludo
--
dalogo

Por dalogo

4 de clabLevel



 

firefox

 

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