|
Basicamente, la clase Key, nos permite interactuar a través del teclado con nuestras películas. Es asi como se puede crear un sencillo ejemplo como el siguiente:
Como ven, se interactua con el teclado a través de las teclas IZQUIERDA y DERECHA. Su funcionamiento no es difícil, veamos cómo se realiza...
En primer lugar tendremos un Movieclip con el nombre de instancia mc. Dicho Movieclip será el cual manipularemos con el teclado. Luego escribimos en el fotograma correspondiente: Código: //Movieclip a utilizar var mc:MovieClip; //Numero de pixeles a mover var pixeles:Number = 1;
//Se establece una función al presionar una tecla mc.onKeyDown = function() { //Si se presiona izquierda, mover "mc" a la izquierda if (Key.isDown(Key.RIGHT)) { mc._x += pixeles; //Por el contrario, si se presiona derecha, mover "mc" a la derecha } else if (Key.isDown(Key.LEFT)) { mc._x -= pixeles; } }; //addListener nos notifica que se han precionado las teclas Key.addListener(mc); |
A través de onKeyDown, al presionar una tecla realizamos una función (mover a mc). Debemos indicar con que tecla presionada se desencadenará la acción (Key.isDown(Key.RIGHT) / (Key.LEFT)). Finalmente cuando de presione una tecla, addListener invocará el método onKeyDown al objeto mc, ejecutándose la acción de movimiento.
Sin embargo, si utilizamos este código para ejecutar una sola vez la acción cada vez que presionamos una tecla, veremos que se ejecutará tantas veces como la mantengamos apretada.
La idea del siguiente ejemplo es que al presionar DERECHA, nos diga cuantas veces la hemos apretado a dicha tecla: Como ven, si mantenemos presionada DERECHA, el contador nos tendría que mostrar que la presionamos sola una vez, pero no lo hace, y esto es debido a que no existe un evento que nos indique que la tecla se ha dejado de apretar. Para esto utilizaremos onKeyUp y una variable llamada flag (bandera) el cual nos avisará cuando la tecla se presiona y cuando se suelta.
Veamos el código con onKeyUp y la variable flag: Código: //Campo de texto en el escenario "txt" var txt:TextField; //Variable que nos avisará cuando se presiona y suelta la tecla var flag:Boolean = false; //numero es cuantas veces se presiona la tecla var numero:Number = 0; //Texto inicial en "txt" txt.text = "Haz click aquí y luego presiona la tecla derecha"; //Al presionar, cambiamos flag a true txt.onKeyDown = function() { if (flag == false) { flag = true; //Incrementamos a numero y asignamos a txt if (Key.isDown(Key.RIGHT)) { numero++; if (numero == 1) { txt.text = "Presionastes "+numero+" vez"; } } if (numero != 1) { txt.text = "Presionastes "+numero+" veces"; } } }; //Al soltar la tecla flag vuelve a false txt.onKeyUp = function() { flag = false; }; //addListener nos notifica que se han precionado las teclas Key.addListener(txt); |
A través de flag lograremos ejecutar el código solo una vez al presionar DERECHA. Al ser soltada, podremos ejecutar el código nuevamente, como se ve a continuación: Las ventajas de poner este límite es la buena administración de los recursos del sistema. Ejemplos utilizados Tags: tutorial flash
..y tal vez te interese:
|
- Por favor, mantenga el tópico de los mensajes en relevancia con el tema del artículo.
- Lenguaje inapropiado será borrado.
| |