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

Texto aleatorio con xml?

Estas en el tema de Texto aleatorio con xml? en el foro de Flash y Actionscript en Foros del Web. Hola, Intento crear una película con un botón que dé como resultado una frase aleatoria. He encontrado algunas soluciones vía "Quote", pero me parece bastante ...
  #1 (permalink)  
Antiguo 02/03/2006, 05:22
 
Fecha de Ingreso: febrero-2006
Mensajes: 25
Antigüedad: 11 años, 9 meses
Puntos: 0
Texto aleatorio con xml?

Hola,

Intento crear una película con un botón que dé como resultado una frase aleatoria. He encontrado algunas soluciones vía "Quote", pero me parece bastante aparatoso para lo que quiero. también he visto soluciones del tipo php o javascript, pero ¿no se puede con Actionscript?

Tengo una lista de 100 frases. ¿Podría crear un archivo xml y que mi botón cargará aleatoriamente una de estas frases al pulsar?

Muchas gracias amigos,
Ata
  #2 (permalink)  
Antiguo 02/03/2006, 07:00
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.339
Antigüedad: 15 años, 6 meses
Puntos: 153
podrias....

también podrias cargar todas tus frases mediante un XML a un Array y asi recorrer aleatoriamente el array...

  #3 (permalink)  
Antiguo 02/03/2006, 07:15
 
Fecha de Ingreso: marzo-2006
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Lo que se me ocurre que puedes hacer es caragr tus frases en xml, luego desde flash las guardas en array como bien dijeron antes despues en el boton puedes hacer algo así:

miBoton.onRelease = function () {
miTexto.text = Math.floor(Math.random()*miArray.length);
}


+ miBoton es la instancia del boton que ativará la función
+ miTexto.text es la instancia del campo de texto dinámico que tienes en el escenario (recuerda embeber las fuentes)
+ miArray es el array donde guardaste anteriormente las frases del xml
+ Math.random te devolverá un numero aleatrio entre 0,1 y 0,9 que al multiplicarlo por el largo del array te abarcara (de manera desigual) todas las posiblidades
+ El Math.floor redondea a numero entero hacia abajo por ej si el random te da un 5,6 el Math.floor te devuelve 5


Si teienes alguna consulta más pregunta.
  #4 (permalink)  
Antiguo 02/03/2006, 08:02
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
una sugerencia al usar XML
el recurrir a un ARRAY para almacenar nuestros datos cargados es innecesario
ya que el mismo XML es un como array, sería duplicar la información sin razón
para poder recorrer los hijos nodos(childNodes) de un NODO (firstchild) podemos hacerlo a través de un id o verificando los nodeName por si los 'tags' fueran diferentes

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #5 (permalink)  
Antiguo 02/03/2006, 09:40
 
Fecha de Ingreso: febrero-2006
Mensajes: 25
Antigüedad: 11 años, 9 meses
Puntos: 0
No me aclaro con el tema de los Arrays

Hola amigos. En prime lugar agradecer vuestra espectacular eficacia.

Soy un poco 'lelo' con javascript & Actionscript. He usado arrays, pero sigo sin tener muy claro el concepto. Si me puedes dar unas pistas de cómo montarlo.

Mil gracias!
  #6 (permalink)  
Antiguo 02/03/2006, 10:31
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
por ejemplo, el archivo: frases.xml contiene:
Código HTML:
<?xml version="1.0" encoding="UTF-8"?>
<frases>
	<frase>"Dime con quién andas... y si está bueno me lo mandas"</frase>
	<frase>"Ojos que no ven... zapatos llenos de caca"</frase>
	<frase>"Siembra un árbol... has feliz a un perro"</frase>
	<frase>"Amor de lejos... felices los cuatro"</frase>
	<frase>"Caballo regalado... tiene que ser robado"</frase>
	<frase>"Hazlo bien... sin mirar con quien"</frase>
	<frase>"Detrás de todo hombre que triunfa... hay una mujer sorprendida"</frase>
	<frase>"Cuando un millonario pasa a mejor vida... sus herederos también"</frase>
	<frase>"El amor es ciego... solo el matrimonio puede devolverle la vista"</frase>
	<frase>"El trabajo en equipo es esencial... te permite echarle la culpa a otro"</frase>
	<frase>"La suerte de la fea... a la bonita le vale madre"</frase>
	<frase>"Mas vale prevenir... que amamantar"</frase>
</frases> 
y en flash:
Código:
System.useCodepage = true;
var frases_xml:XML = new XML();
frases_xml.ignoreWhite = true;
frases_xml.load('frases.xml');
this.onMouseUp = function(){
	var numero_random:Number = Math.floor(Math.random()*frases_xml.firstChild.childNodes.length);
	var frase_random:String = frases_xml.firstChild.childNodes[numero_random].firstChild.nodeValue;
	trace(frase_random);
}
stop();
lo de System.useCodepage = true; se usa sólo si NO trabajásemos
con UTF para guardar el XML
Y LO QUE RECOMIENDO ES GUARDAR EL ARCHIVO XML en UTF-8y ya no sería necesario usar: System.useCodepage = true;

haa.. y como ves en el ejemplo que te pongo, no es necesario usar otro array para guardar las fraces, ya que ellos mismo forman un array

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #7 (permalink)  
Antiguo 02/03/2006, 10:59
 
Fecha de Ingreso: febrero-2006
Mensajes: 25
Antigüedad: 11 años, 9 meses
Puntos: 0
agradecimiento

Ahora lo veo más claro, antes me liaba entre tener que crear un array y generar un xml!
Mil gracias luistar
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 07:04.