Mucha gente que veo en los foros de Sony Ericsson quieren sus menús flash personalizados pero algunos están protegidos por un password.
Supongo que da un "extra" a la privacidad que es muy importante para cualquiera.
En este tutorial verémos una solución simple de cómo crear una sesión de login para introducir el password, que sea funcional y que sea personalizable para cualquier combinación numérica que el usuario desee.
¿Es esto posible?
Primero que nada hablemos de algo. Flash lite 1.1 no soporta la lectura/escritura de archivos.Segundo, no soporta las "flash-cookies" o también conocidas como "Objetos Compartidos".
Entónces, ¿Que podemos hacer?.
Una solución que he porpuesto es simplemente designar el password a una variable. Lo grandioso de esto que los valores numéricos se conservan aún cuando el archivo fuente ha sido compilado,por lo tanto puede ser editado con cualquier editor hexadecimal.Así cualquiera podrá personalizar su propio password con el editor hexadecimal.
Como sea, una vez instalado en tu celular no podrá ser cambiado.
Pero espera.¿Que hay de los campos para ingresar texto?.¿Por que no solo utilizamos uno?
Aunque esto realmente permite entrar información alfanumérica, encuentro el sistema un poco tedioso pues el usuario requiere de trabajo para entrar los datos.
Siendo que un usuario no debe pasar un minuto tecleando el password para poder entrar a su menú.Imaginen teclear los números 7 y 9, deben pasar primero po4 lentras antes de llegar a ese número.
Intentémos crear un campo simple para entrar datos y ver como trabaja en tu celular. Veamos.
El algoritmo
El camino que seguiremos para usar el sistema de protección con contraseña SIN los campos de intruduccion de texto es creando una función cíclica al comienzo d ela animación.Un botón "atento" que reciba los dígitos tecleados por el usuario y que sepa en que momento el usuario ha presionado ENTER.Se efectuará una comparación de digitos ingresados y el password guardado, en caso de ser váildo el usuario podrá entrar a las funciones del menú flash.
Simularesmos la entrada de datos colocando asteríscos en un campo de texto dinámico cada que el usuario teclee un número.
Comencémos.
Primero que nada crearemos un botón. En la linea de tiempo principal crearemos una capa (layer) y colocarémos el botón PERO fuera del área de trabajo.éste será nuestro botón "atento" (listener)
.Damos click derecho para colocar las siguientes acciones en el (action script):
Cita:
on(keyPress "1"){
/:digit="1";
call("addDigit");
}
on(keyPress "2"){
/:digit="2";
call("addDigit");
}
on(keyPress "3"){
/:digit="3";
call("addDigit");
}
on(keyPress "4"){
/:digit="4";
call("addDigit");
}
on(keyPress "5"){
/:digit="5";
call("addDigit");
}
on(keyPress "6"){
/:digit="6";
call("addDigit");
}
on(keyPress "7"){
/:digit="7";
call("addDigit");
}
on(keyPress "8"){
/:digit="8";
call("addDigit");
}
on(keyPress "9"){
/:digit="9";
call("addDigit");
}
on(keyPress "0"){
/:digit="0";
call("addDigit");
}
on(keyPress "<enter>"){</enter>
call("evaluate");
}
Sí, lo sé los códigos con un tanto repetitivos pero no se ha encontrado otra manera efectiva, hasta el momento.
Básicamente este código sustituye el número ingresado y lo pasa a una pseudo función de llamada.Presionando ENTER se llama a otra función para evaluar los dígitos ingresados.
Ahora a crear otra capa. En el frame número 1 definirémos el password cono deseen.
Ejemplo:
Cita:
/
wWord=12345;
Por ahora solo podemos usar números, es la manera más fácil de hacer.Nombraremos al Frame 1 así: "Idle".
En el frame 1 necesitaremos agregar un campo de texto dinámico. Démosle a ese campo de texto la variable llamda: pwBox. Este campo mostrará los asteríscos cuando un número sea ingresado; coloquémos texto centrado en ese campo dinámico y limitémos a únicamente a : Una sola línea.Para simular un formulario de entrada de contraseña se puede colocar una imagen de fondo para darle más realismo.
Necesitaremos otro campo de texto dinámico con nombre de variable llamada "error" para mostrar un mensaje de error cuando el password ingresado sea incorrecto.
TIP: Asegurate de colocar colores al texto en los campos dinámicos que resalten sobre las imágenes de fondo.
You may also want to add some additional titles, prompts and some instructions on frame 1 to tell the user to enter a password.
Ahora, extenderemos la duración del frame 1 al frame 7. En el frame 7 colocarémos el siguiente código action script.
gotoAndPlay(1);
Esto asegurará que la animación se mantenga en el área de password y que no avanze al área del menú.
El siguiente paso es crear frames vacíos a partir del frame 8 hasta el frame 10, ningún objeto debe aparecer en el área de trabajo.
Al frame vacío número 10 le colocaremos la etiqueta 'addDigit'.Este frame contendrá el código que será ejecutado cuando el usuario presione cualquier tecla numérica en su celular.Aquí colocarémos el código que será usado para llamar a la pseudo función 'addDigit'.Añadan el código:
Cita:
/
wBox= /
wBox add "*";
/:realPW=/:realPW add /:digit;
gotoAndPlay(1);
En el frame 11( o el que ustedes gusten) coloquen un frame vacío y coloquémos la etiqueta llamada 'evaluate'.Este frame contendrá el código para evaluar el password guardado con el password ingresado al ser presionada la tecla ENTER.El código es:
Cita:
if(pwWord eq realPW){
gotoAndPlay("Flash Menu");
}else{
/:error="Incorrect Password.\nPlease Re-enter.";
/
wBox= "";
/:realPW= "";
gotoAndPlay(1);
}
Ahora, en el frame 15 crearemos un frame vacío y lo nombraremos "Flash Menu". Aquí es donde el menu flash debe ser colocado.Si el passowr ingresado es correcto la pseudo función 'evaluate' saltará hasta este frame dando como resultado la visualización del Menú Flash.
Editando el password con un editor hexadecimal.
Simplemente cambiaremos el número que aparece delante del texto pwWord (no aparecen juntos). Ver imágen.
¡Ahi lo tienen!. Un buen menú flash protegido con contraseña.
Con ésto queda nuestro tutorial terminado, esperemos que con esto mas usuarios se animen para hacer sus propios desarrollos será un placer poder ver sus trabajos.
Marcadores