Portada | Monotemáticos | Secciones | Comunidad | Servicios profesionales | RSS
Teoría del diseño | Vídeo e Imagen | CD/DVD Interactivo | Audio | Web Multimedia | Fotografía | Tecnología
Directorio | Manuales | FAQs | Programas | Noticias
Registrarse
Desarrollo Multimedia

Algunas situaciones particulares en Macromedia Director.

Vamos a ver en éste capítulo de nuestro manual de Macromedia Director algunas situaciones particulares que en muchos casos nos servirán de utilidad.

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



Indice de Manual de Macromedia Director

 Autoría, licencia y acciones sobre este artículo

Informe de Juan Ignacio Rodríguez Navarro*
Equipo de desarrollomultimedia.es

Atención: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.

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


Comentarios sin revisar

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

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

Se ha encontrado un comentario sin revisar








  Ir arriba


DesarrolloMultimedia.es | Copyright | Anunciese | Acerca de | Datos legales | Contacta