Tutorial 9 - Creació d'un joc (I)

Pas 11 de 26

Avaluarem quina tecla ha detectat el listener que s'ha premut (e.keyCode). Segons la tecla premuda, farem girar el clip cap a un costat o cap a un altre. Si s'ha premut qualsevol altra tecla, no farem res, llevat sortir de la sentència.

La nostra sentència, que és dins de la funció arrows (substituint trace), quedarà com s’indica a continuació:

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ó es mesura en graus (360 graus seria un gir complet). El clip girarà sobre el seu punt de registre, que en aquest cas és en el centre del clip.

Provem la pel·lícula (Ctrl+Intro). La nau ja s'orienta cap a un costat o cap a un altre depenent de la fletxa que hàgim premut.

El pas següent serà afegir sentències perquè la nau, a més de girar, es desplaci. Per a aconseguir-ho podem utilitzar sentències similars a les que hem utilitzat per a desplaçar el núvol en el tutorial 6.

Per exemple, podem afegir les sentències següents en cada case, segons correspongui:

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 quedaria, per tant, de la manera següent:

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