Make your own free website on Tripod.com
Movie in a Window
Otra carateristica interesante de Director es el trabajo con ventanas independientes y las posibilidades de compartir datos entre ellas. Basicamente trabajar con MIAW (Movie in a Window), es crear una ventana y asignarle a esta ventana una pelicula de Director. De este modo se puede tener una pelicula principal y abrir en cualquier momento nuevas ventanas que actuen como selectores o barras de herramientes, etc. Para esto necesitamos una pelicula principal y una serie de pelicuals que conformarĚn cada una su ventana independiente en su momento. Estas peliculas secundarias pueden estar importadas en la misma ventana cast, y por lo tanto acopladas al proyector luego, o haber sido incluidas en el proceso de crear el proyector, asi como simplemente pueden ser archivos externos en formato: DIR, DCR, DXR, etc.. colocados en el mismo directorio del proyector.
Para abrir una ventana el script bĚsico de Lingo es:
open window "miPeli.dir"
Con este comando bĚsico se nos abrirĚ una nueva ventana flotante del tamaĎo de la pelicula que contiene y que funciona por si misma. Para cerrar esta ventana desde Lingo el script serĚ:
forget window "miPeli.dir"
Con esto tenemos el trabajo mĚs bĚsico que podemos realizar con ventanas en Director, pero por supuesto hay muchisimo mĚs.
Podemos asignar un nombre de archivo diferente a la ventana en cualquier momento con el script:
set the filename of window "miPeli" to "miPeli2.dir"
Podemos situar exactamente la ventana en la pantalla con el metodo rect(arribaX, arribaY, abajoX, abajoY):
set the rect of window "miPeli" to rect(10,10,150,100)
Asimismo podemos cambiar el tipo de ventana (su estilo) utilizando el m╚todo windowType:
Por ejemplo:
set the windowType of window "miPeli" to 0 -- Ventana normal.
set the windowType of window "miPeli" to 1 -- Ventana de alerta.
set the windowType of window "miPeli" to 2 -- RectĚngulo simple.
set the windowType of window "miPeli" to 3 -- RectĚngulo con sombra.
set the windowType of window "miPeli" to 4 -- Ventana sin botones maximizar o minimizar.
set the windowType of window "miPeli" to 8 -- Ventana normal con scroll.
set the windowType of window "miPeli" to 12 -- Ventana normal con scroll sin botones maximizar o minimizar.
set the windowType of window "miPeli" to 16 -- Ventana con redondeada.
set the windowType of window "miPeli" to 49 -- Ventana de tipo paleta flotante.
Y tambi╚n por supuesto podemos cambiar su t╠tulo en cualquier momento:
set the title of window "miPeli" to "Hola soy una MIAW"
Intercambiar datos entre ventanas:
Este es sin duda el elemento mĚs interesante de la programaci█n con ventanas mÖltiples en Director.
Para dirigir nuestros script de Lingo a una ventana en concreto utilizamos en comando tell:
tell window "miPeli"
set the puppet of sprite 3 to true
set the locH of sprite 3 to x
if (field "mio" = EMPTY) then
alert "El campo estĚ vac╠o"
end if
end tell

Todo el script encerando entre "tell" y "end tell" se refiere a una ventana en concreto y por consiguiente actua sobre su pelicula exclusivamente. De igual modo podemos enviar variables globales a la pelicula en ventana desde la pelicula principal:

global miVar
set miVar = field "info"
tell window "miPeli"
put miVar into field "info2"
end tell
end
Tambien, como no, podemos volver a "hablar" con la pelicula principal (el escenario), usando el script tell the stage to...
tell the stage to set the puppet of sprite 2 to false

Y esto, mas o menos es todo en cuanto a ventanas. En el proximo capitulo veremos como utilizar menÖs en nuestras aplicaciones de Director