Tutorial 9 - Creación de un juego (I)

Paso 11 de 26

Vamos a evaluar qué tecla ha detectado nuestro listener que se ha pulsado (e.keyCode). Según la tecla pulsada, rotaremos el clip hacia un lado o hacia otro. Si se ha pulsado cualquier otra tecla, no haremos nada, salvo salir de la sentencia.

Nuestra sentencia, que estará dentro de la función arrows (sustituyendo al trace), quedará como sigue:

switch (e.keyCode) 
{
    case Keyboard.RIGHT :
        e.target.rotation = 90;
        break;
        
    case Keyboard.LEFT :
        e.target.rotation = -90;
        break;
        
    case Keyboard.UP :
        e.target.rotation = 0;
        break;
        
    case Keyboard.DOWN :
        e.target.rotation = 180;
        break;
        
    default :
        break;
}

La rotación se mide en grados (360 grados sería una vuelta completa). El clip rotará sobre su punto de registro, que este caso está en el centro del clip.

Probamos la película (Ctrl+Intro). La nave ya se orienta hacia un lado u otro dependiendo de la flecha que hayamos pulsado.

El paso siguiente será añadir sentencias para que la nave, además de rotar, se desplace. Para conseguirlo podemos utilizar sentencias similares a las que utilizamos para desplazar la nube en el tutorial 6.

Por ejemplo, podemos añadir las siguientes sentencias en cada case, según corresponda:

e.target.x += 3; //3px right
e.target.x -= 3; //3px left
e.target.y -= 3; //3px up
e.target.y += 3; //3px down

El primer case quedaría por tanto de la siguiente forma:

case Keyboard.RIGHT :
    e.target.rotation = 90;
    e.target.x += 3;
    break;