Inexplicable drama con condición "if"

Quiero hacer un loggin para mi movie no se nada de bases de datos así que la solución más a mi alcance es hacer que en el fotograma 1 halla un sistema de login
usuario :_____
contraseña:______
Login
Entonces viene lo lindo xD, mi idea es que al presionar el botón login verifique el texto introducido en "usuario" y de nuevo verifique "contraseña si cumple con las dos condiciones entonces debería saltar a un fotograma por por ejemplo el "10".
Si no debería enviar de nuevo al fotograma 1 donde esta el login
entonces le puse al espacio para introducir texto var "user" y al de password "pass"
Creé una capa de controles para los stops en el fotograma1 y el 10
y el código clave lo intente introducir en el botón de loggin que quedo más o menos así:
on (release) {
if (user == "usuario"){
if (pass == "password"){
gotoAndPlay (10);}
}else{gotoAndPlay (1);
}
}
A mi parecer esto es sumamente lógico y debiera funcionar pero no es así, el código no tiene errores pero tampoco cumple su función ayudame por favor quizás estoy ignorando algo.
Respuesta
1
Suena bastante ingenioso! Mmmm pero te recomiendo algo, para saber si tu código funciona usa "trace".
¿Qué es un trace? Un trace es una alerta que se bota si la finción se cumple. Por ejemplo:
on(release) {
trace("Usar condiciones es fácil y no me representa ningún problema");
}
Ahora, también hay un error en tu programación. Estás usando una condición que se debe de cumplir dentro de otra condición. if (user == "usuario") { if (pass == "password") { gotoAndPlay(10); }
Quiere decir, si user es igual que usuario, pass tiene que ser igual a password, entonces mandame al frame 10. Esta condición nunca se va a cumplir.
Lo que tienes que hacer es usar un else if { } o separar las condiciones:
if (user == "usuario") {
trace("El usuario es correcto");
}else{
trace("El usuario es incorrecto");
}
if (pass == "pasword") {
trace("El pasword es correcto");
}else {
trace("El pasword es incorrecto");
}
//Lo que va a hacer esta programación es decirte si tu código funciona o no. Ahora, lo que yo haría para que funcionara tu script sería poner banderas de la siguiente manera:
if (user == "usuario") {
trace("El usuario es correcto");
user = 1;
}else if (pass == "pasword") {
trace("El pasword es correcto");
pass = 1;
}else {
trace("El usuario es incorrecto =( ...");
trace("El pasword es incorrectos =( ...");
user = 2;
pass = 3;
}
//Luego meter otra condición para validar las anteriores.
if (user && pass = 1) {
trace("Felicidades!! Diste con el código correcto");
}else{
trace("Ni pedo carnal!! Sigue tratando");
}
Esto es lo que se me acaba de ocurrir. Así lo haría yo. No sé si funcione el código o no, pero por lo menos espero haberte dado una idea.
Chaman bueno primero que nada dejame agradecerte por tu respuesta y tus ideas la verdad creo que implementare tu idea de darle un valor a cada item ;)
Por otro lado dejame decirte que había solucionado el problema hacia 2 minutos xD y me siento bastante estúpido ahora jaajajaja xD te mando lo que use no es perfecto pero es otra idea buena mira este código:
on (press, release) {
if ((Password eq "1234") && (Name eq "usuario1")) {
gotoAndPlay(2);
} else if ((Password ne "1234") && (Name ne "usuario1")) {
status = "Acceso Denegado";
}
if ((Password eq "1234") && (Name eq "usuario2")) {
gotoAndPlay(2);
} else if ((Password ne "1234") && (Name ne "usuario2")) {
status = "Acceso Denegado";
}
if ((Password eq "1234") && (Name eq "usuario3")) {
gotoAndPlay(2);
} else if ((Password ne "1234") && (Name ne "usuario3")) {
status = "Acceso Denegado";
}
}
Ahí esta para 3 usuarios
No se como no se me ocurrió antes que solo en 1 if puedo poner 2 condiciones usando && name es la primera entrada de texto y Password la segunda solo tiene un detalle que si solo el name o solo el pass están mal no responde nada xD pero no me importa xD

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas