NavegaciÛn interactiva.
[ Descargar la pelicula de ejemplo ]
Para construir una pelÌcula interactiva que se compone de distintos apartados, generalmente se habilitan primero en el Score las diferentes secciones que representan las distintas partes de la pelicula, a las que se llega de forma autom·tica o a travÈs de un evento de Lingo. Esto se realiza a travÈs de "marcas", que seÒalan donde est· cada parte concreta de la pelicula con su nombre propio.
Para crear una marca nueva, pulsamos sobre la barra superior del score, con lo que nos aparecer· un pequeÒo tri·ngulo invertido al que podemos poner una etiqueta o cambiar de sitio arrastr·ndolo sobre la barra de marcas.
En este ejemplo, tenemos tres marcas: "menu", "foto1" y "foto2", diferenciando tres partes en el score.
La primera le llamamos "menu" y es donde tenemos los botones: "ver foto 1" y "ver foto 2". Las otras dos marcas contienen dos fotos diferentes, con el botÛn "volver al men™".
Al final de cada secuencia hemos colocado en script
on exitFrame
go to the frame
end
Para impedir que llegados a ese punto la cabeza de reproducciÛn siga adelante.
Cada uno de los botones de esta pelicula tiene un script "go to" referenciando a una marca de la pelicula.
Asi, el sprite botÛn "ver foto 1" tiene asignado el script:
on mouseDown me
go to "foto1"
end
Y el sprite botÛn "volver al menu", tiene asignado el script:
on mouseDown me
go to "menu"
end

Para aquellos familiarizados con C Û Visual Basic, quiero indicaros que el "go to" de Director no es una llamada a funciÛn o un salto de cÛdigo "chapuzero" como en el caso de estos dos anteriores lenguajes, sino que lo que se hace es referenciar o enviar la cabeza de reproducciÛn directamente a la marca especificada en la sentencia " go to". Con lo cual el "go to" de Director no solo es correcto en el entorno de Lingo, sino que adem·s es imprescindible para hacer aplicaciones interactivas b·sicas.

Diferencia entre el "go to" para el Score y las llamadas a funciones ( Handlers ) en Lingo:

En Director los mÈtodos o funciones se denominan "Handlers". B·sicamente un handler es una porciÛn de cÛdigo independiente que contiene una o m·s sentencias y operaciones, y que siempre espera a ser llamado para funcionar.

Para crear un nuevo Handler en Director, seleccionamos el men™: "Window > Script", para abrir una nueva ventana de Script vacia. En ella escribimos el cÛdigo para el nuevo Handler:

on cualquierCosa ( ) -- nombre del handler --
puppetSprite 1 , true
set the memberNum of sprite 1 to 4
updatestage
end
Cerramos la ventana de script y el codigo quedar· esperando alli, a ser llamado desde cualquier parte de Director para comenzar a realizar su trabajo.
Para llamar a un Handler utilizamos simplemente el nombre del Handler:
on mouseDown
cualquierCosa ( ) -- nombre del handler --
end
Con lo que el Handler comenzar· a hacer su trabajo.

Este modo de trabajo es universal en todos los lenguajes de programaciÛn. De esta forma se consigue no tener que repetir porciones de cÛdigo idÈnticas en partes diferentes del programa, sino que se agrupan en una funciÛn, mÈtodo, o Handler, en el caso de Director, para ser llamado luego cuantas veces se necesite desde cualquier parte del programa.

Todo esto lo desarrollaremos mejor en el siguiente capÌtulo en donde se tratar·n las variables en Director.