Algunas situaciones particulares en Macromedia Director.

20 de noviembre de 2007
Valoraci贸n del art铆culo:
Vamos a ver en 閟te cap韙ulo de nuestro manual de Macromedia Director algunas situaciones particulares que en muchos casos nos servir醤 de utilidad.
Atenci髇: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.

Sustituci贸n de un elemento por otro dentro del mismo sprite:

Un efecto muy usado es el de hacer que los botones parezcan que se hunden al hacer click sobre ellos. Esto se consigue teniendo dos im谩genes, una con el bot贸n "sin pulsar" y otra con el bot贸n "pulsado". Supongamos que, en el cast, estos elementos est谩n situados en estos lugares:

n煤mero de cast: 11 Nombre: bot贸n no pulsado
n煤mero de cast: 12 Nombre: bot贸n pulsado

En el sprite del frame correspondiente colocamos la imagen del bot贸n no pulsado (p.e., en el sprite 15). Para crear el efecto deseado, el script de este bot贸n ser谩:

on mouseDown
set the castNum of sprite 15 = the number of cast "bot贸n pulsado"
updateStage
repeat while the mouseDown
end repeat
set the castNum of sprite 15 = the number of cast "bot贸n no pulsado"
updateStage
if the mouseCast = the number of cast "bot贸n no pulsado" then go "fin"
end


En este caso, "fin" es el nombre del marker a donde saltamos. Una forma m谩s abreviada de escribir esto es la siguiente:

on mouseDown
set the castNum of sprite 15 = 12
updateStage
repeat while the mouseDown
end repeat
set the castNum of sprite 15 = 11
updateStage
if the mouseCast =12 then go "fin"
end


Veamos detenidamente qu茅 pasa en este bot贸n: comenzamos con un "mouseDown" (esto es, pulsamos el bot贸n del rat贸n). En ese momento, en el sprite 15 se sustituye la imagen que hab铆a por otra nueva; estaba la imagen del bot贸n no pulsado (castNum = n煤mero de cast = 11 = the number of cast "bot贸n no pulsado") y la sustituimos por la del bot贸n pulsado (castNum = n煤mero de cast = 12 = the number of cast "bot贸n pulsado") mediante el comando "set"=Haz que. A continuaci贸n actualizamos el stage=refrescamos la pantalla=updateStage. Lo que viene a continuaci贸n es un bucle (repeat...end repeat) que hace que el programa se detenga ah铆 el tiempo que el usuario mantenga pulsado el rat贸n ("while the mouseDown"). Una vez que el usuario ha levantado el dedo del rat贸n, pasamos a las sentencias siguientes, que lo que hacen es volver a poner la imagen del bot贸n sin pulsar.

Por 煤ltimo, la sentencia if the mouseCast =12 then go "fin" lo que hace es mirar a ver qu茅 elemento se encuentra debajo del cursor/rat贸n (the mouseCast). Si es el 12="bot贸n no pulsado", entonces salta a la secuencia "fin"; caso contrario, no pasa nada. Esto sirve para, p.e., cuando hemos hecho click en un bot贸n equivocado y, para paliar la situaci贸n, salimos con el cursor fuera de 茅l y soltamos el rat贸n. Sin esta sentencia, es script podr铆a ser:

on mouseDown
set the castNum of sprite 15 = 12
updateStage
repeat while the mouseDown
end repeat
set the castNum of sprite 15 = 11
updateStage
go "fin"
end


y, cuando levant谩ramos el dedo del rat贸n, estuvi茅semos donde estuvi茅semos, saltar铆amos a la secuencia "fin".

  • rollOver: Esta funci贸n indica si el cursor est谩 sobre un sprite determinado o no. Es de la forma rollOver(sprite). Esta funci贸n se usa a menudo para crear scripts que realizan una acci贸n cuando el usuario sit煤a el cursor sobre un sprite espec铆fico. Para verlo m谩s claramente, vamos a coger el ejemplo visto anteriormente de sustituci贸n de una imagen por otra cuando mantenemos el rat贸n pulsado sobre un bot贸n, y lo vamos a hacer ahora con la funci贸n rollOver. Para ello, consideramos, como antes, que en el cast, estos elementos est谩n situados en estos lugares:

    n煤mero de cast: 11 Nombre: bot贸n no pulsado
    n煤mero de cast: 12 Nombre: bot贸n pulsado

    y que en el sprite 15 del frame correspondiente colocamos la imagen del bot贸n no pulsado. Para simular una pulsaci贸n de bot贸n cuando pasemos el cursor por encima de 茅l, el script de la movie (que no el del bot贸n) deber谩 ser:

    on exitFrame
    if rollOver(15) then
    set the castNum of sprite 15 = 12
    else
    set the castNum of sprite 15 = 11
    end if
    go to the frame
    end


    Este script hace lo siguiente: cuando va a abandonar el frame, comprueba si el cursor est谩 sobre el sprite 15 y, si efectivamente es as铆, pone la imagen del bot贸n pulsado (n煤mero de cast 12); si no es as铆 ("else"), entonces la imagen es la correspondiente al bot贸n no pulsado (n煤mero de cast 11). Posteriormente, vuelve al mismo frame (para "detener ah铆 la movie"). Esto 煤nicamente sustituye, como hemos dicho, una imagen por otra. Si adem谩s queremos que cuando estemos sobre el bot贸n (y, por lo tanto, la imagen corresponda a la del bot贸n pulsado) se ejecute una detrminada acci贸n al hacer click sobre 茅l, deberemos programar ese bot贸n. En este caso, pondremos en el script del bot贸n pulsado:

    on mouseUp
    go "curriculum"
    end


    De esta forma, al pasar sobre el bot贸n sin pulsar nos cambiar谩 a bot贸n pulsado y, si adem谩s hacemos click sobre 茅l, iremos al marker "curriculum".

  • Ir varios frames adelante/atr谩s: Como comentamos al principio, una de las formas de saltar a un frame espec铆fico era mediante el script:

    on mouseUp
    go to (the frame + 1)
    end


    Este script nos hace saltar al frame siguiente al que estamos al hacer click sobre el objeto en cuesti贸n. Podemos saltar m谩s de uno simplemente cambiando "the frame + 1" por "the frame + x", donde x puede ser cualquier n煤mero. Igualmente, podemos ir uno o m谩s frames "hacia atr谩s", cambiando "the frame + x" por "the frame - x".

  • Salir de la aplicaci贸n:

    Como toda aplicaci贸n que se precie, l贸gicamente deberemos incluir en nuestros interactivos un bot贸n para abandonar la aplicaci贸n. Aunque en las aplicaciones creadas con Director no es estrictamente necesario, pues siempre se sale de ellas con comando-Q, no est谩 de m谩s ver el script del bot贸n "salir", que es el siguiente:

    on mouseUp
    quit
    end


Comentarios

Los comentarios de los visitantes son para ampliar la
informaci贸n del art铆culo. Cualquiera puede participar.

Añadir un comentario al artículo Publicar un comentario del artículo

Se muestra un comentario revisado

 gracias
02/6/10 

Comentario de Miguel Angel:

Hola muy buen tuto y quisiera saber si podrias ayudarme con un problema q tengo estoy trabajando con adobe Director y me falla un poco la programaci髇, te explico el problema: necesito hacer el scrip para q cuando el mause se mueva a la izquierda vaya retrocediendo cabeza lectora cuadro por cuadro, y si se mueve a la derececha avance de la misma manera. busque por todo lado pero solo encuentro los scripts para moverme haciendo click pero yo necesito q solo moviendo el mouse se vaya moviendo la cabeza lectora. si pudieras ayudarme te lo agradeceria muchisimo, de ante mano gracias. mantenemos el contacto, este es mi correo galpolux@hotmail.com Gracias y buena suerte!!!


Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos
interesantes que se hayan enviado recientemente.


Se han encontrado 3 comentarios sin revisar




El autor
Juan Ignacio Rodr韌uez Navarro
Equipo de desarrollomultimedia.es
Manuales
Categor铆as

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo econ贸mico...