Podemos añadir a nuestras películas interacción con las teclas pulsadas, el procedimiento es muy sencillo, basta con detectar los eventos que se producen al pulsar las teclas y saber qué tecla lo ha originado.
Cuando recogemos un evento de teclado, disponemos del método .keyCode, que nos indica la tecla que se ha pulsado. Dependiendo de la que sea, haremos una cosa u otra. Por ejemplo:
addEventListener(KeyboardEvent.KEY_DOWN, capturarTeclado); function capturarTeclado(tecla:KeyboardEvent):void{ //Es importante especificar que es un vento del tipo KeyboardEvent //para poder emplear el método .keyCode. switch (tecla.keyCode){ case Keyboard.RIGHT: //mover hacia la derecha break; case Keyboard.LEFT: //mover hacia la izquierda break; } }
Los códigos de las teclas son bastante sencillos, las flechas UP, DOWN, RIGHT y LEFT; la barra espaciadora SPACE; y las teclas especiales SHIFT, CONTROL, TAB, CAPSLOCK, ESCAPE, ENTER, BACKSPACE, INSERT, DELETEKEY, HOME, END, PGDN y PGUP. Siempre precedido por Keyboard.
Los eventos de teclado que podemos emplear son:
Recordemos el ejemplo que vimos al principio del tema. Esta vez, lo vamos a cambiar para mover el objeto con las teclas en vez de con el ratón:
Animación no reproducible
Nota: Si no responde al teclado, haz clic primero para que tome el foco.
El código que hemos incluido es el siguiente:
var izquierda:Boolean=false; var derecha:Boolean=false; miClip.gotoAndStop("parado"); //Detectamos el evento al pulsar tecla, y marcamos //La dirección del movimiento addEventListener(KeyboardEvent.KEY_DOWN, capturarTeclado); function capturarTeclado(tecla:KeyboardEvent):void { switch (tecla.keyCode) { //Dependiendo de la tecla, indicamos case Keyboard.RIGHT : //una dirección u otra derecha=true; break; case Keyboard.LEFT : izquierda=true; break; } } //En el evento onEnterFrame, comprobamos si están activas //Las variables que indican la dirección del movimiento miClip.addEventListener(Event.ENTER_FRAME, movimiento); function movimiento(event):void { if (derecha) { miClip.gotoAndStop("derecha"); if (miClip.x<490) { miClip.x=miClip.x+7; } } else if (izquierda) { miClip.gotoAndStop("izquierda"); if (miClip.x>7) { miClip.x=miClip.x-7; } } } //Detectamos cuándo se suelta la tecla addEventListener(KeyboardEvent.KEY_UP, parar); function parar(event):void { derecha=false; //Y paramos el movimiento izquierda=false; miClip.gotoAndStop("parado"); }
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.