Tutorial 6 - Animación con ActionScript 3.0

Paso 7 de 19

Un evento de ratón similar es MouseEvent.CLICK. La diferencia es que con CLICK se detecta si se ha pulsado y soltado el ratón, es decir, si se ha hecho clic. Más adelante veremos que en nuestro caso vamos a ejecutar acciones diferentes para las acciones de pulsar y soltar el ratón, y es por ello por lo que hemos elegido el evento MOUSE_DOWN (y después utilizaremos MOUSE_UP).

Ahora pasaremos a definir nuestra función drag. Una función es un bloque de instrucciones agrupadas, y que se ejecuta al ser llamada desde otra función o método.

Al escribir el código, las funciones y métodos se diferencian de las propiedades porque tras el nombre de los primeros hay un paréntesis. El paréntesis puede estar vacío, o bien puede recibir uno o varios parámetros separados por comas. Por ejemplo, alpha es una propiedad, mientras que addEventListener es un método con dos parámetros (evento y función).

Para crear una función tenemos que comenzar con la palabra clave function. Tras ella, escribimos el nombre que queremos dar a nuestra función. En este caso le damos el nombre drag. Tras el nombre, escribimos los paréntesis:

function drag()

Las funciones que vayan a ser llamadas desde un addEventListener, como es nuestro caso, reciben un parámetro. Este parámetro es un objeto del tipo de evento que ha desencadenado la función, en este caso MouseEvent.

Entre los paréntesis escribiremos el nombre del objeto (el nombre que queramos), dos puntos (:), y el tipo de objeto.

Por lo tanto, de momento nuestra función comenzará asi:

function drag(e:MouseEvent)

Le hemos dado al parámetro el nombre e por evento, pero podríamos haberle dado otro nombre. Generalmente se suele dar a este parámetro el nombre e o event.

Tras el nombre de la función es conveniente especificar el tipo de datos que devolverá. En nuestro caso, la función no va a devolver ningún resultado, sino que simplemente va a ejecutar una acción. En estos casos, como tipo de datos se asigna void (vacío).

Nuestra función queda como sigue:

function drag(e:MouseEvent):void