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

Paso 13 de 26

Como ahora queremos que los desplazamientos de la nave los haga otra función que recibe un ENTER_FRAME (la función moveSpacecraft), en la función arrows sólo guardaremos el dato sobre la rotación y hacia dónde se debe dirigir el movimiento.

Por lo tanto, sustituimos las sentencias case del desplazamiento en la función arrows de la siguiente manera:

case Keyboard.RIGHT :
    e.target.rotation = 90;
    course = "right";
    break;

En los demás casos, asignamos a la variable course los valores "left", "up" y "down" respectivamente.

La función moveSpacecraft, que crearemos a continuación, moverá de forma continua el clip hacia un lado u otro dependiendo del último valor asignado a la variable course, ya que se ejecutará continuamente al ser llamada por un evento ENTER_FRAME.

La función moveSpacecraft evaluará el contenido de la variable course, y en base a eso moverá la nave.

function moveSpacecraft(e:Event):void
{
    switch (course) 
    {
        case "right" :
            e.target.x += 3;
            break;
            
        case "left" :
            e.target.x -= 3;
            break;
            
        case "up" :
            e.target.y -= 3;
            break;
            
        case "down" :
            e.target.y += 3;
            break;
            
        default : 
            break;
    }
}