EDITO: Ya he solucionado el problema. La verdad es que no sé muy bien como lo he hecho, pero lo he conseguido. He estado cambiando el id del XML por números y he conseguido que funcione, después lo he puesto otra vez con letras y ahora funciona bien.
De todas formas si alguién ve el error me gustaría que me lo dijera para así saber en que he fallado. Gracias.
----------------------------------
Hola,
Estoy desarrollando un pequeño juego y quiero cargar unos textos desde un archivo XML. Para ello guardo el archivo XML en una variable (datos) y en ontra variable (literales) guardo un XML List que contiene la parte de los textos del XML.
Bien hasta aquí todo bien, pruebo las variables con trace y tienen los datos guardados perfectamente. El problema viene cuando intento acceder a mi variable "literales" y filtrar el contenido para seleccionar el texto con una determinada id. Flash me dice que la varibale id no está definida (Error #1065: No se ha definido la variable id.)
El código que utilizo para filtrar es el siguiente:
enunciado.text = Globales.literales.(@id == "texto_enunciado")[0].toString(); - enunciado es un campo de texto que tengo en la línea de tiempo.
- Globales es una clase donde almaceno todas las variables de caracter global para todos los juegos.
- literales es una variable (XMLlist) creada dentro de Globales
- filtro usando el id
- le digo que solo quiero el nodo 0
- y como sé que solo contiene un elemento pues lo convierto a String.
Pues al poner esta línea me salta el error que os digo. En la variable Globales.literales he guardado solo esta parte:
Código XML:
Ver original<literales>
<literal id="texto_enunciado"><![CDATA[En este juego aparecerán una serie de preguntas con varias posibles respuestas.<br>Selecciona la que creas correcta y comprueba al final tus resultados]]></literal>
<literal id="texto_descripcion"><![CDATA[Selecciona la respuesta que creas correcta para cada pregunta. Tras la selección, cambiarás a una nueva pregunta. Cuando se terminen, el juego te mostrará tus resultados]]></literal>
</literales>
De todas formas aquí abajo os dejo el código del XML completo.
Código XML:
Ver original<?xml version="1.0" encoding="utf-8"?>
<juego>
<fases>
<fase id="0" OK="0">
<enunciado><![CDATA[¿En qué año apareció la versión CS5 de Adobe?]]></enunciado>
<respuesta idR="0"><![CDATA[2010]]></respuesta>
<respuesta idR="1"><![CDATA[2009]]></respuesta>
<respuesta idR="2"><![CDATA[1970]]></respuesta>
<respuesta idR="3"><![CDATA[1492]]></respuesta>
</fase>
<fase id="0" OK="2">
<enunciado><![CDATA[¿Cual es la capital de Inglaterra?]]></enunciado>
<respuesta idR="0"><![CDATA[París]]></respuesta>
<respuesta idR="1"><![CDATA[Viena]]></respuesta>
<respuesta idR="2"><![CDATA[Londres]]></respuesta>
<respuesta idR="3"><![CDATA[Valdepollos]]></respuesta>
</fase>
<fase id="0" OK="1">
<enunciado><![CDATA[¿Quien es el autor del libro "La guerra de los mundos"?]]></enunciado>
<respuesta idR="0"><![CDATA[Cervantes]]></respuesta>
<respuesta idR="1"><![CDATA[H.G. Wells]]></respuesta>
<respuesta idR="2"><![CDATA[Asimov]]></respuesta>
<respuesta idR="3"><![CDATA[Oscar Wilde]]></respuesta>
</fase>
</fases>
<literales>
<literal id="texto_enunciado">
<![CDATA[En este juego aparecerán una serie de preguntas con varias posibles respuestas.<br>Selecciona la que creas correcta y comprueba al final tus resultados]]>
</literal>
<literal id="texto_descripcion">
<![CDATA[Selecciona la respuesta que creas correcta para cada pregunta. Tras la selección, cambiarás a una nueva pregunta. Cuando se terminen, el juego te mostrará tus resultados]]>
</literal>
</literales>
</juego>
A ver si alguien puede ayudarme. Gracias.