Comunidad de diseño web y desarrollo en internet online

AYUDA CON AS3

Citar            
MensajeEscrito el 26 Oct 2010 08:15 am
Hola a todos:
estoy creando actividades multimedia para niños y soy nuevo con as3..
he creado un codigo condicional IF{}ELSE que es el siguiente:

stop();
import flash.events.MouseEvent;

btn_correct.addEventListener(MouseEvent.CLICK, corretgir);
btn_start.addEventListener(MouseEvent.CLICK, reiniciar);

function corretgir(e:MouseEvent):void {
if (resp_1.text == "ferrocarril" && resp_2.text == "eixample" && resp_3.text == "banc de vilanova") {
gotoAndStop("si")
}else{
gotoAndPlay("no")
}
}

function reiniciar(e:MouseEvent):void {
gotoAndPlay("inici")
}


Lo que pasa es que aunque las respuestas sean las indicadas solo me cumple la condicion else, es decir en todo momento me marca las respuestas como incorrecto. alguien sabe cual es el problema
¿?

Muchas gracias

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 09:18 am
Hola, a simple vista podrías intentar algunas cosas cómo:
1) ver qué guardan las variables: resp_1.text, resp_2.text y resp_3.text con un trace() [por ejemplo].
2) en vez de un gotoAndStop podría ser un gotoAndPlay --> Tendrías que mirar la línea de tiempo.
3) en el if podrías probar: if((resp_1.text=="ferrocarril") && (resp_2.text=="eixample") && (resp_3.text=="banc de vilanova"))

Ya sé que parece una tontería pero a veces esos pequeños errores son los que nos provocan dolor de cabeza.

Aunque ahora me da a sospecher algun problemilla con el == y los campos de texto.
Voy a probar yo y te cuento.

Hasta ahora.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 09:29 am
Hola:
los puntos 2 y 3 que me mencionas ya los he probado y sigue funcionandome igual de mal, en cuanto al punto 1 que me mencionas aun no he aprendido a usar la variable trace y nose como se incluye en el codigo.
es mas en cada fotograma de la capa acciones tengo un stop() inicial pero he probado con gotoAndStop() por si acaso se reproducieran los fotogramas ya que esta en tres fotogramas, fotorama 1 = toda la programaciony elementos graficos , fotograma 2= correcto, 3= incorrecto, por eso he puesto gotoAndStop

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 09:42 am
Te aclaro un par de cosas (de las que yo conozco):
1) Para poder ver el contenido de tus variables por pantalla puedes usar el trace de la siguiente forma:
trace("valor de resp1= "+resp_1.text); //te mostrará el texto de la variable resp_1
2) si toda la programación la tienes en un único fotograma (fotograma 1) cuando saltes al segundo fotograma (correcto) o al tercer fotograma (incorrecto) ¿Cómo interactuarás con tu aplicación?

Conclusión:
El valor que te muestra por pantalla usando el trace() tendría que ser el mismo que el valor que usas para la comparación en el "if".

Ya me contarás.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 09:51 am
no me pone ningun valor despues de poner trace() el valor es = (vacio)
que programacion deberia poner en el resto de fotogramas, sigue igual.
Tu lo has probado¿? te funciono¿?

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 10:02 am
Entonces el valor de tu variable está vacía, por este motivo la comparación de igualdad siempre es diferente porqué la variable está vacía o "NULL".

¿Cómo asignas el valor a tus variables?

¿El "resp_1" es una variable o un input text?

Provablemente cuando cambias de fotograma el valor de tu texto quede en blanco.

Compruébalo y me dices.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 10:06 am
Los 3 son input text, y al cambiar de fotograma el texto se queda escrito, debereia convertirlo en variable¿? en este caso como deberia acerlo de la mejor forma¿?
Dado que soy novato en el tema, ten en cuenta que las variables no acabo de entederlas del todo bien.
Agradezco un monton tu ayuda e interes..

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 10:38 am
Por lo que me cuentas yo lo he probado ahora mismo y me funciona correctamente, mira que no tengas ningun nombre de los input text duplicado en otra variable y no te hayas dado cuenta.

Me imagino que cada vez que le dan al botón de "corregir" obligatóriamente hay que pulsar el botón "reiniciar" para volver al estado inicial y así poder acceder a toda tu programación. Una mejora a tu aplicación podría ser que usases la capa dónde pones el código del programa en un sólo fotograma principal y que este ocupe todo los fotogramas de tu aplicación. De esta forma podrías acceder a tus funciones des de cualquier fotograma. Recuerda que las variables si no son globales y las has inicializado en un fotograma, al cambiar de fotograma no podrás acceder a ellas. Por otro lado si lo que tienes son input text y los visualizas en cualquier fotograma, tendrías que poder acceder a ellos y a su contenido desde dónde los puedas visualizar.

Pruébalo

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 10:44 am
me puedes pasar la programacion de tu prueba para que pueda compararlo con la mia, esque no entiendo como te funciona a ti y a mi no, ya he mirado que no tubiera nada repetido por error en nombres de instancias de las cajas de input text. te copio i pego otra vez el as de mi fotograma1 en capa acciones:

stop();
import flash.events.MouseEvent;

btn_correct.addEventListener(MouseEvent.CLICK, corretgir);
btn_start2.addEventListener(MouseEvent.CLICK, reiniciar);

function corretgir(e:MouseEvent):void {
if ((resp_1.text === "ferrocarril") && (resp_2.text === "eixample") && (resp_3.text === "banc de vilanova")) {
gotoAndStop("si")
}else{
gotoAndStop("no")
}
}

function reiniciar(e:MouseEvent):void {
gotoAndStop("inici");
resp_1.text="";
resp_2.text="";
resp_3.text="";
}
trace("valor de resp1= "+resp_1.text);

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 10:47 am
P.D. el valor=== realmente es == lo que estaba probando cosas nuevas asta que me funcione

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 10:59 am
Muchas gracias ya he encontrado el modo de hacer que entienda los valores del campo la variacion del AS3 puesto anteriormente a este ultimo que funciona es:
stop();
import flash.events.MouseEvent;

btn_correct.addEventListener(MouseEvent.CLICK, corretgir);
btn_start2.addEventListener(MouseEvent.CLICK, reiniciar);
resp_1.text==="ferrocarril";//SON ESTOS TRES VALORES CON (===)
resp_2.text==="eixample";
resp_3.text==="banc de vilanova";
function corretgir(e:MouseEvent):void {
if ((resp_1.text == "ferrocarril") && (resp_2.text == "eixample") && (resp_3.text == "banc de vilanova")) {
gotoAndStop("si")
}else{
gotoAndStop("no")
}
}

function reiniciar(e:MouseEvent):void {
gotoAndStop("inici");
resp_1.text="";
resp_2.text="";
resp_3.text="";
}
trace("valor de resp1= "+resp_1.text);

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 11:00 am
MUCHISISISISISMAS GRACIAS!
ESPERO PODER SEGUIR EN CONTACTO CONTIGO, DA GUSTO CONCIDIR CON GENTE COMO TU POR LA RED

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 11:02 am
Yo tengo el siguiente código en el primer fotograma:

/*-------------------------------------------- */
stop();

import flash.events.MouseEvent;

boton.addEventListener(MouseEvent.CLICK, accion);

function accion(event:MouseEvent):void
{
trace ("texto1 = "+texto1.text);
trace ("texto2 = "+texto2.text);
if (texto1.text=="texto1" && texto2.text=="texto2")
{

gotoAndStop("si");

}else
{
gotoAndStop("no");
}

}


/* -------------------------------- */

Assegúrate que tienes las etiquetas "si" y "no", assegúrate que los nombres de los objestos sean correctos y escribe el trace dentro de la función "corretgir" de la misma forma que tengo yo.
También escribe las asignaciones a variables delante de cualquier cambio de fotograma, lo digo por la función reiniciar, que cambias de fotograma antes de assignar los nuevos valores a la variables.

Saludos.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 11:04 am
rectifico me ha funcionado una vez y ya no me funciona

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 26 Oct 2010 11:31 am
ya sip!!!!
muchas gracias!
gracias a esto tengo solventada la mayoria de ejercicios multimedia que me han planteado, el erro era que en la caja de texto tenia seleccionado multilinea en vez de linea unica i por eso me daba que el resultado era erroneo
UNA VEZ MAS:
MUCHAS GRACIAS POR TODO

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8

 

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