jueves, 11 de septiembre de 2008

Arrastrar nodos. Objeto evento de ratón.

Me dispongo a construir una barra lateral que me permita recorrer el contenido que se muestre en una zona delimitada. Mi idea es construir una barra que permita arrastrar y soltar un botón para que se mueva solidariamente al contenido. De la página del señor SilveiraNeto, veo cómo arrastrar y soltar un nodo. Ya había probado este efecto antes y había reparado en que esa era la primera vez que veía que una función tomaba como parámetro un objeto del tipo MouseEvent. Ahora que ya ví que Flex gestiona un objeto evento para estos menesteres también, comprendo que es con éste con el que se quieren gestionar de forma sencilla los gestos del ratón o teclado.

El detalle interesante es que una vez creado y asociado el objeto de evento de ratón, podemos adquirir de él información como e.getDragY que nos dice la distancia en el eje Y que ha recorrido el puntero durante el arrastre. Edificante.

Con este detalle sólo me queda hacer referencia al valor del desplazamiento producido por el arrastre del nodo y tomarlo como valor de movimiento para el nodo visible, bien sea haciendo un bind y o un bind translateY.

En otro orden de cosas, para detectar un doble click utilizo una propiedad de evento de ratón heredada de swing, .getClickCount() que me dice el número de clicks que se han realizado. Me gustaría saber cuál es el intervalo de tiempo que utiliza para el conteo de clicks de ratón. Compruebo que funciona como espero cuando hago unas líneas tal que así:



onMouseClicked(e:MouseEvent){
if (e.getClickCount() == 2) then { ... }
}