-

-
-
Botones
interactivos.
Muchas veces probablemente, utilizando una aplicaciŪn
multimedia o un programa hemos visto esos botones que cambian de forma al rozar
o al pulsar sobre ellos. Veamos como se hace esto en Director.
- En primer lugar tenemos importamos en la ventana Cast
los tres gr·ficos del botŪn: El botŪn en reposo, rozado y pulsado.
- En este caso ocupar·n las casillas del Cast, 4, 5 y 6
respectivamente.
- Y adem·s importamos un sonido que ser· el que se
reproduzca al pulsar sobre el botŪn, en el ejemplo se llama "CLIC", y ocupar·
la casilla n† 7 del Cast, por ejemplo.
-
- Los tres estados del botŪn:
-
-
-
- Ahora debemos colocar en el score el boton en reposo,
en este caso a partir del cuadro 5 ocupando tres cuadros del Score.
- En el ultimo de los tres cuadros, hacemos doble clic
en el canal de script, con lo que se nos abre la ventana script para poder
escribir nuestro codigo Lingo que se ocupara de controlar distintos
aspectos:
-
-
- on exitFrame
- go to the frame
- -- al intentar salir del cuadro
le decimos a Director que permanezca en el mismo lugar. --
-
- if rollOver(1) = true then
- -- si el raton roza el sprite
situado en el canal 1 del Score (TRUE significa verdadero) --
- puppetSprite 1 true
- -- declaramos "puppet", el sprite
1 con lo que pasa a ser controlado por Lingo. --
- set the memberNum of sprite 1 to 5
- --cambiamos el numero de cast del
sprite 1 por el correspondiente al boton rozado. --
- updatestage
- -- forzamos a actualizar el
escenario. --
-
- else if rollOver(1) = false then
- -- sin embargo, si el raton NO
ROZA el sprite 1. --
- set the puppet of sprite 1 to
false
- -- eliminamos el "puppet" del
sprite por lo que deja de estar controlado por Lingo y vuelve a su estado
original --
- updatestage
-
- end if
- -- fin de la sentencia if()
--
- end
- -- fin del Script --
-
-
- Si ahora ponemos a andar la pelicula, podremos probar
nuestro script rozando el botŪn con el cursor. Pero aun falta el Script que
har· que el botŪn cambie al pulsar sobre Čl y emita un sonido.
- Para esto seleccionamos el sprite botŪn en el frame o
frames en donde queremos activar su script, en este caso en la ultima casilla
en donde hemos colocado el script de score anterior, ya que es ahi donde la
pelicula se detiene. Con el Sprite seleccionado, vamos al men™: Modify >
Sprite > Script: con los que se nos abre otra venatna de Script con el
handler:
-
- on mouseDown
-
- end
-
- Aqui escribimos:
-
-
- on mouseDown
- -- nuevo handler que captura el
clic del ratŪn. --
-
- puppetSound "CLIC"
- -- que se reproduzca el sonido
importado con el nombre "CLIC". --
- puppetSprite 1 true
- -- Hacemos controlable desde
Lingo el botŪn. --
- set the memberNum of sprite 1 to
6
- -- cambiamos el boton en reposo
por el gr·fico del botŪn pulsado. --
- updatestage
- -- actualizamos el escenario.
--
- end mouseDown
- -- terminamos el handler
mouseDown. --
-
- on mouseUp
- -- nuevo handler para cuando
levantamos el botŪn del ratŪn --
- set the puppet of sprite 1 to
false
- -- declaramos "false", el control
de Lingo sobre el gr·fico cuando levantemos el boton del raton,
- de esta forma al soltar el ratŪn,
el botŪn vuelve a su estado de reposo. --
- upatestage
- end mouseUp
- end
-
-
-
- Con esto tenemos un botŪn, o los que queramos, que
responden a nuestras acciones con el ratŪn.
Lo explicado anteriormente es compatible con todas las versiones de
Director.
Sin embargo, las nuevas versiones han avanzado bastante al respecto, por lo
que prŪximamente habr· un capitulo exaustivo sobre los principales eventos de
ratŪn para las nuevas versiones de Director tratando los handlers:
"on mouseEnter me", "on mouseLeave me", "on mouseDown
me", "the mouseLoc", "the mouseWord", etc...