Comunidad de diseño web y desarrollo en internet online

Crear un Test de preguntas con xml en flash

Citar            
MensajeEscrito el 30 Mar 2009 10:31 am
Estimados amigos:

Estoy realizando un test de preguntas en flash donde los datos los recogo de un xml.
En flash tengo dos cajas de texto donde recojo el numero de pregunta y el enunaciado que obtengo de un xml.
Tengo un boton llamado siguiente donde quisiera que cuando pulsase pasara a leer la siguiente pregunta del xml.

Me gustaria saber como puedo programar ese boton.

Os dejo el xml y el as que tengo en flash.

Código :

<?xml version="1.0" encoding="iso-8859-1"?>
<test>
<pregunta id="1" enunciado="Creo que soy una persona activa y vigorosa">
</pregunta>
<pregunta id="2" enunciado="No me gusta hacer las cosas razonando demasiado sobre ellas">
</pregunta>
<pregunta id="3" enunciado="Tiendo a implicarme demasiado cuando alguien me cuenta sus problemas">
</pregunta>
<pregunta id="4" enunciado="No me preocupan especialmente las consecuencias que mis actos puedan tener sobre los demás">
</pregunta>
<pregunta id="5" enunciado="Siempre estoy informado sobre lo que sucede en el mundo">
</pregunta>
<pregunta id="6" enunciado="Nunca he dicho una mentira">
</pregunta>
</test>

El action script de flash es

Código ActionScript :

//Declara la variable "obj_xml" como un objeto XML
var obj_xml:XML = new XML();
/*Esta linea es EXTREMADAMENTE necesaria
  Es la que nos permite colocar espacios entre etiquetas
  Sin ella, tendriamos que mantener completamentepegado nuestro XML
  Y se parsearia mal dentro de Flash
*/
obj_xml.ignoreWhite = true;
//Función que se ejecuta en el momento en el que Flash cargue el XML
obj_xml.onLoad = function(exito) {
   //La variable exito sera "true" si se cargo bien y "false" si hubo
   //algun error
   if (exito) {
      
      
   
      //Le asigna al campo destino el valor de la rama pregunta nodo id
      Tpregunta.text = obj_xml.firstChild.childNodes[0].attributes.id;
         
      
   
      //Le asigna al campo destino el valor de la rama pregunta nodo enunciado
      Tenunciado.text = obj_xml.firstChild.childNodes[0].attributes.enunciado;
      trace("descripcion:" + obj_xml.firstChild.childNodes[0].attributes.enunciado);
      
      
};
//Esta es la función que llama el botón de cargar el xml
function cargarXML() {
   //Invoca a la función "load" del objeto XML, pasandole por parametro
   //La ruta de nuestro archivo XML
   obj_xml.load("bfq_ok.xml");
}


// boton siguiente

on (release) {
    //Llamamos a la función de carga del archivo XML
    id_txt.text = " ";
   descripcion_txt.text = " ";
   // codigo que llame al xml y que cargue al siguiente
}

Agradezco cualquier sugerencia o ayuda.
Muchas gracias a todos ...

Por pcoliver

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 06:42 pm
Crea una nueva variable llamada index, asi:

Código ActionScript :

var index:Number = 0;


Luego las llamadas se van a hacer asi:

Código ActionScript :

childNodes[index]


Y en el boton siguiente, primero incrementas el index y ejecutas las mismas funciones que en onLoad del xml:

Código ActionScript :

index++;
Tpregunta.text = obj_xml.firstChild.childNodes[index].attributes.id;


Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 20 Abr 2010 07:57 am
Hola a tod@s,

muy interesante lo que se comenta en este post (aunque desgraciadamente mis conocimientos de actionscript son nulos :(

Me gustaria formularles una pregunta:

Tengo un documento de texto con unas 6000 preguntas con el siguiente formato:

COD: 1
¿A cuántos caballos de vapor (CV) equivale un kilovatio (kW)?

A. 1 kW = 0,736 CV.
B. 1 kW = 0,876 CV.
C. 1 kW = 0,325 CV.
D. 1 kW = 1,359 CV.

RESPUESTA: D
NORMA: Sin referencia


COD: 2
¿A cuántos kilovatios (kW) equivale un caballo de vapor (CV)?

A. 1 CV = 0,325 kW.
B. 1 CV = 0,500 kW.
C. 1 CV = 0,736 kW.
D. 1 CV = 0,876 kW.

RESPUESTA: C
NORMA: Sin referencia

Mi pregunta es la siguiente:

Existe alguna manera de crear un test en flash o similiar a partir del documento de texto sin tener que escribir a mano las 6000 preguntas? la verdad me ahorraria muchisimo tiempo (unos cuantos años creo XD)

PD: las preguntas, como ya podeis observar, son de multiple opción.

Gracias a tod@s de antemano y disculpad mi ignorancia.

Por Jordir2

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 Abr 2010 08:43 pm
Igual te sirve esto.

Saludos.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 21 Abr 2010 08:33 am
Hola LongeVie,

gracias por contestar, lo he descargado y estoy probando. Puede que sea lo que necesito, pero por lo que veo es casi imposible poder exportar los datos de un archivo de texto tal cual los tengo yo, es decir, el archivo de texto ya devería tener los codigos del actionscript puestos para que sea solo copiar y pegar, verdad?

De momento estoy probando de insertar el codigo en el .txt pero lleva mucho trabajo.

Desconozco si existe alguna opción de no tener que escribir el action script en el .txt

De todos modos muchas gracias por tu aportación.

Por Jordir2

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 Abr 2010 05:37 pm
Hola, en el link que te pase ya no se maneja actionscript, se maneja otra cosa que se llama XML.

El xml es un lenguaje de etiquetas, es super sencillo y se puede editar con el block de notas de windows.

Solo copia el texto de tu archivo y pegalo en el xml/txt y listo, no hay que programar nada.

Saludos.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 22 Abr 2010 10:31 am
Gracias de nuevo y disculpa mi ignorancia.

Accedo al link y me registro para decargar. Luego me aparecen 5 carpetas:

settings: incluye dos archivos com.powerflashpaper.fdt.core.prefs y org.eclipse.code.resouces.pref
Desing: incluye un .DS_Store 2 illustrator y 2 pdf
Carpetas de fuentes y ayuda
Carpeta proyecto:
Deploy:
js: expressinstall.swf y dos JScript file
quiz: carpetas PHP y XML (supongo que te refires a esta) dentro hay el quiz.xml y settings.xml
Source: carpetas br, caurina y com

Si le doy doble click a quiz.xml aparece esto en el navegador:
No se puede mostrar la página XML
No se puede ver la entrada XML con la hoja de estilo XSL. Corrija el error y haga clic en el botón Actualizar, o inténtelo de nuevo más tarde.
--------------------------------------------------------------------------------

Falta un espacio en blanco necesario. Error al procesar el recurso file:///D:/Flabell224-Simple-XML-Quiz/Simple XML Quiz/pr...

<item id="5"correct="2">
---------------^

Ya ves que estoy muy perdido, no sé dónde se tiene que pegar lo que yo tengo en el .txt

Espero no desesperarte con mi ignorancia. Gracias de nuevo.

Por Jordir2

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 22 Abr 2010 03:31 pm
Abre el xml con el bloc de notas, identifica la linea <item id="5"correct="2"> y cambiala por:
<item id="5" correct="2">

lee mas sobre xml aqui

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 22 Abr 2010 07:12 pm
He corregido el error y ya me aparece el codigo. Estoy leyendo los aportes de tu link, muy interesante el de Freddie de xml en flash. Seguiré indagando a ver si consigo crear algo que se parezca a un test.

Una ultima pregunta. Si yo cambio el codigo del xml con mis preguntas, luego lo tengo que pasar a flash para crear lo que seria el swf final, verdad?, es decir no tengo que arrancar ningun archivo de los descargados del 1er link que me pasaste.

Espero no haber dicho ninguna tonteria :) . Muchas gracias por tu ayuda compañero +10

Por Jordir2

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 22 Abr 2010 09:11 pm
Por lo que leo,

El archivo XML no se compila con el swf, con compilar, me refiero a empaquetar todo junto; el archivo XML es tomado en tiempo de ejecución, o sea, es un archivo externo, como cuando un swf carga una imagen o llama a una pagina web, solo asegurate de que tu archivo XML este en la ruta correcta con respecto a tu swf cuando subas todo a un servidor o lo pruebes en otras maquinas, para que no te de el error de que no encuentra el XML.

Ese archivo XML lo puedes modificar con tus preguntas, puedes quitar preguntas y agregar mas preguntas.

Saludos.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 23 Abr 2010 10:42 am
Vale! creo que ya lo entiendo, creo que lo que tengo que hacer simplemente es en el codigo que lleva el xml:

<?xml version="1.0" encoding="UTF-8" ?>
- <survey>
- <splash_screen>
- <description>
- <![CDATA[ Do you miss all the incredible clothes worn by Carrie and Co. on "Sex and the City"? This "designer" quiz spans all six seasons. For fashion addicts only!
]]>
</description>
</splash_screen>
- <questions_screen>
- <item id="1" correct="1">
- <question>
- <![CDATA[ In season one's "The Power of Female Sex", in which fabulous store are Carrie and Amalita when Amalita states, "You can pay me back NEVER!"?
]]>
</question>
- <answer id="1">
- <![CDATA[ Christian Dior
]]>
</answer>
- <answer id="2">
- <![CDATA[ Jimmy Choo
]]>
</answer>
- <answer id="3">
- <![CDATA[ Manolo Blahnik
]]>
</answer>
- <answer id="4">
- <![CDATA[ Dolce & Gabbana
]]>
</answer>
</item>


Le cambio con el bloc de notas los parametros

- <question>
- <![CDATA

y

- <answer id="1">
- <![CDATA[ Christian Dior
]]>

con mis preguntas y respuestas y ya solo tendre que abrir el preview.swf. Es correcto?

Si és así, por lo que veo, hay que ir copiando y pegando preguntas y respuestas una por una. Cierto?

Gracias Longe. ;)

Por Jordir2

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 23 Abr 2010 03:26 pm
Asi es amigo, has entendido muy bien, solo procura respetar la sintaxis y los nombres de etiquetas.

Sintaxis es respetar cosas como esto: <![CDATA["texto plano"]]> ó <elemento></elemento> y los nombres de las etiquetas es respetar las palabras definidas tales como "answer" o "question".

Saludos.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 24 Abr 2010 01:11 pm
Ok, muchas gracias por tus consejos y ayudas. Me voy a poner el mono de trabajo y a pasar preguntas y respuestas.

Gracias. +10

Por Jordir2

5 de clabLevel



 

msie8

 

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