Tutorial 6 - Animació amb ActionScript 3.0

Pas 7 de 19

Un esdeveniment de ratolí similar és MouseEvent.CLICK. La diferència és que amb CLICK es detecta si s'ha premut i s’ha deixat anar el ratolí, és a dir, si s'ha fet clic. Més endavant veurem que en el nostre cas executarem accions diferents per a les accions de prémer i deixar anar el ratolí, i és per això que hem triat l'esdeveniment MOUSE_DOWN (i després utilitzarem MOUSE_UP).

Ara passarem a definir la nostra funció drag. Una funció és un bloc d'instruccions agrupades, i que s'executa quan es crida des d'una altra funció o mètode.

En escriure el codi, les funcions i mètodes es diferencien de les propietats perquè després del nom dels primers hi ha un parèntesi. El parèntesi pot ser buit, o bé pot rebre un o diversos paràmetres separats per comes. Per exemple, alpha és una propietat, mentre que addEventListener és un mètode amb dos paràmetres (esdeveniment i funció).

Per a crear una funció hem de començar amb la paraula clau function. A continuació d'aquesta escrivim el nom que volem donar a la nostra funció. En aquest cas li donem el nom drag. Després del nom, escrivim els parèntesis:

function drag()

Les funcions que s'hagin de cridar des d'un addEventListener, com és el nostre cas, reben un paràmetre. Aquest paràmetre és un objecte del tipus d'esdeveniment que ha desencadenat la funció, en aquest cas MouseEvent.

Entre els parèntesis escriurem el nom de l'objecte (el nom que vulguem), dos punts (:) i el tipus d’objecte.

Per tant, de moment, la nostra funció començarà així:

function drag(e:MouseEvent)

Hem donat al paràmetre el nom e per esdeveniment, però n'hi podíem haver donat un altre. Generalment, a aquest paràmetre se sol donar el nom e o event.

Després del nom de la funció és convenient especificar el tipus de dades que tornarà. En el nostre cas, la funció no tornarà cap resultat, sinó que simplement executarà una acció. En aquests casos, com a tipus de dades s'assigna void (buit).

La nostra funció queda com s’indica a continuació:

function drag(e:MouseEvent):void