May 09
Para los interesados en crear una encuesta por medio de un archivo flash, acá les dejo una actualización de este post, donde se puede descargar los archivos fuentes. También agregue la posibilidad de tener un frame final, donde sale las respuestas en que se van almacenando en un array dependiendo de la respuesta del usuario.
La url de descarga es:
Descargar archivos de la encuesta aquí
This movie requires Flash Player 8
El archivo xml:
Nombre del archivo test.xml (Importante este debe ser un archivo xml, se recomienda crear en un editor de texto plano y guardar con la extension xml)
HTML:
-
<test>
-
<pregunta texto = "¿Pregunta 1?">
-
<repuestas>
-
<opcion texto = "respuesta 1."/>
-
<opcion texto = "respuesta 2."/>
-
<opcion texto = "respuesta 3."/>
-
<opcion texto = "respuesta 4."/>
-
</repuestas>
-
</pregunta>
-
<pregunta texto = "¿Pregunta 2?">
-
<repuestas>
-
<opcion texto = "respuesta 1."/>
-
<opcion texto = "respuesta 2."/>
-
<opcion texto = "respuesta 3."/>
-
<opcion texto = "respuesta 4."/>
-
<opcion texto = "respuesta 5."/>
-
<opcion texto = "respuesta 6."/>
-
<opcion texto = "respuesta 7."/>
-
<opcion texto = "respuesta 8."/>
-
</repuestas>
-
</pregunta>
-
<pregunta texto = "¿Pregunta 3?">
-
<repuestas>
-
<opcion texto = "respuesta 1."/>
-
<opcion texto = "respuesta 2."/>
-
</repuestas>
-
</pregunta>
-
<pregunta texto = "¿Pregunta 4?">
-
<repuestas>
-
<opcion texto = "respuesta 1."/>
-
<opcion texto = "respuesta 2."/>
-
<opcion texto = "respuesta 3."/>
-
<opcion texto = "respuesta 4."/>
-
</repuestas>
-
</pregunta>
-
</test>
El código as:
Actionscript:
-
//Lectura del archivo de xml de configuración
-
System.useCodepage = true;
-
xmlXACA = new XML();
-
xmlXACA.ignoreWhite = true;
-
xmlXACA.onLoad = function(exito)
-
{
-
if(exito)
-
{
-
atest = new Array();
-
preguntas = this.firstChild.childNodes;
-
for(var i=0;i<preguntas.length;i++)
-
{
-
obj = new Object();
-
trace(preguntas[i].attributes.texto);
-
obj.pregunta = preguntas[i].attributes.texto;
-
//t0.text = preguntas[i].attributes.texto;
-
respuestas = preguntas[i].firstChild.childNodes;
-
-
ans = new Array();
-
for(var j=0;j<respuestas.length;j++)
-
{
-
trace(respuestas[j].attributes.texto);
-
ans.push(respuestas[j].attributes.texto);
-
//_root["t"+(j+1)].text = respuestas[j].attributes.texto;
-
//_root["t"+(j+1)].autoSize = true;
-
}
-
obj.ans = ans;
-
atest.push(obj);
-
}
-
fillPage(0);
-
}
-
else
-
{
-
trace("Error, we have problems reading this file.");
-
}
-
}
-
xmlXACA.load("test.xml");
-
//función que se ejecuta al responder una pregunta. y se encarga de refrescar la siguiente pregunta
-
-
function fillPage(page)
-
{
-
hideElements(true);
-
-
obj = atest[page];
-
t0.text = atest[page].pregunta;
-
ans = obj.ans;
-
-
for(var i=0;i<ans.length;i++)
-
{
-
_root["c"+(i+1)]._visible = true;
-
txt = _root["t"+(i+1)];
-
txt._visible = true;
-
txt.text = ans[i];
-
txt.autoSize = true;
-
}
-
unSelectRadios(true);
-
}
Funciones para controlar los radioButtons:
Actionscript:
-
_root.page = 1;
-
bsig._visible = false;
-
bsig.onPress = function()
-
{
-
_root.gotoAndStop(2);
-
}
-
alClicar = new Object();
-
alClicar.click = function(evento) {
-
push = evento.target.selection.data;
-
if(_root.page<atest.length)
-
{
-
fillPage(_root.page);
-
_root.page++;
-
}
-
else
-
{
-
bsig._visible = true;
-
}
-
};
-
test.addEventListener("click", alClicar);
-
-
function hideElements(valor){
-
for(var i=1;i<9;i++)
-
{
-
this["t"+i]._visible = !valor;
-
this["c"+i]._visible = !valor;
-
}
-
}
-
-
function unSelectRadios(valor){
-
for(var i=1;i<9;i++)
-
{
-
this["c"+i].selected = !valor;
-
}
-
}
Ok espero que sea útil.








June 16th, 2009 at 9:11 am
el código de AS me marca errores… podrías pasarme el fla?
June 17th, 2009 at 2:49 pm
Que más rulo, que clase de errores te esta marcando. Con gusto te envío el código flash, pero antes me interesa conocer los errores para corregirlos.
saludos
October 18th, 2009 at 3:54 am
hola me podrías pasarme el fla?
porfa
vmmc@vmmc.es
October 19th, 2009 at 8:21 am
Hola sera q me puedes enviar al archivo fla.
por favor
gracias
October 30th, 2009 at 2:31 am
Hola, ¿solucionaste lo del código que te decía rulo? podrías pasarme a mi también el .fla
Gracias por el post tan interesante
January 18th, 2010 at 3:58 am
…gracias por el ejemplo, ¿podrías pasarme el .fla??
February 23rd, 2010 at 5:19 am
Hola, estoy queriendo hacer un test en flash, ya lo tengo hecho en EXCEL 2007, archivos .xlsm, funciona bien, pero la verdad no es exactamente lo que busco, en google busque “test en flash” y llegué a la web http://foros.cristalab.com/como-crear-un-test-en-flash-t47113/ que me trajo hasta aquí, la verdad que lo que veo aquí sí que me interesa y me parece curioso, pero no sé cómo debo hacerlo he copiado el código pero no sé ni siquiera la extensión que debo poner a los archivos para que funcionen, la verdad es que lo he copiado en archivo de texto plano directamente, y el código del principio lo he guardado en un .xml (sólo he cambiado la extension txt)
en serio no sé como tengo que hacerlo. Los otros archivos los pongo extensión swf y funcionarían?? Es que no lo sé. hacen falta archivos o imágenes auxiliares?”???
Por favor, ayudadme, he programado cosas en html, pero en flash no y no sé como hacerlo.
Un saludo y gracias.
PDA: Si queréis os mando un de los archivos de test en excel, o incluso todos, son 30 archivos 15 de ellos incompletos, los otros 15 con 100 preguntas de test cada uno, la verdad que me llevó bastante trabajo hacerlos, pero me gustaría hacerlo en flash porque me convence muchísimo más además de poder tenerlo online.
February 23rd, 2010 at 9:16 am
Genial, a mi no me salía esto, sólo las dos primeras respuestas y sin link, sería más antiguo, y ahora qué debo hacer?
Tengo que abrir los archivos con algún programa especial, es que mi portátil se me ha roto y estoy con el de mi padre que no tiene instalado nada, sólo internet explorer y lo que viene con windows.
Un saludo y muchas gracias, por cierto encontré esta página:
http://www.desarrolloweb.com/scripts/asp/test-asp.php
Por si a alguien le pudiera ser útil, y me gustaría saber como automatizar el paso de los datos para no tardar mil años en pasar las preguntas al flash, tiene que haber forma de automatizar todo el proceso.