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,direccion); function direccion(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 soportada por el navegador
Nota: Si no responde al teclado, haz clic primero para que tome el foco.
El codigo 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,direccion);
function direccion(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 direción del movimeinto
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. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.