Documentos de Académico
Documentos de Profesional
Documentos de Cultura
-
ndice
NDICE........................................................................................................................................................................ 2
1. Componentes de Director.
Utilidad para mover los miembros del reparto: Esta es una herramienta muy
til cuando tenemos un gran nmero de elementos en el cast y queremos mover
alguno a otra posicion no visible. Para hacerlo, seleccionamos el miembro del cast
que queremos mover y luego arrastramos el cuadradito hacia el lugar del Cast a
donde queremos mover este miembro seleccionado. Al soltar sobre la casilla que
queramos, veremos que el miembro que teniamos seleccionado se coloca en esa
casilla.
Script e Info del miembro de reparto: Estos son dos botones fundamentales
para trabajar en el Cast.
este personaje siempre reproducir un sonido de alerta del sistema cada vez que
se haga clic sobre l.
9 El segundo botn (info) nos sirve para asignar propiedades particulares al miembro
del reparto. Ms adelante veremos ejemplos en donde utilizaremos estas dos
herramientas.
La segunta es la herramienta de giro. Sirve para girar de forma libre los sprites
que hemos colocado en el escenario.
Luego tenemos las figuras con relleno y sin relleno. Estas figuras tiene la
particularidad de ocupar muy poca memoria, lo que agilizar nuestra pelicula si se
reproduce en internet, por ejemplo, en donde la velocidad de ejecucin en un punto
crtico.
Los botones de seleccin y radio, son los tipicos botones que encontramos en
aplicaciones y pginas web. Mas adelante veremos como utilizarlos para recoger
informacin a travs de Lingo.
Las herramienta siguiente nos sirve para asignar un color de fondo y frontal a
nuestras figuras, campos de texto, etc..
Aqui asignamos tipos de letra, alineacin, espacio entre lineas, etc, para los textos y
campos de texto.
Es un pequeo asistente que nos permite asignar Scripts de Lingo, sin necesidad de
escribir el cdigo, sino seleccionando los handlers y las acciones que queramos ejecutar. Mas
adelante veremos los conceptos de handler y script con mucho ms detalle.
El Score, es sin duda, la ventana que ms intimida a los principiantes que se acercan a
Director. Sin embargo, una vez que comprendemos sus funciones, y empezamos a hacer
nuestros primeros juegos en ella, se va transformando simplemente en una herramienta
poderosa y verstil.
2.1. Introduccin.
En este apartado vamos a ver como se importan bitmaps de Photoshop o cualquier otro
editor de imagenes en Director. Tambin veremos algunas propiedades de los bitmaps.
En la versin 7 de Director podemos importar una serie muy amplia de formatos grficos,
como por ejemplo, GIF, JPEG, PNG, BMP, PICT, etc.
A la hora de importar imgenes en Director es muy importante pensar para qu las vamos
utilizar, para decidir el formato correcto. Una pantalla de ordenador funcionando a 256 colores
corresponde a 8 bits de profundidad de color, una pantalla a miles de colores corresponde a
16 bits, y una pantalla a millones de colores corresponde a 24-32 bits.
Si queremos mostrar fotografas de gran calidad podemos optar por 16, 24 32 bits, pero
si lo que importamos son imgenes para animacin ser suficiente importarlas a 8 bits de
profundidad de color, de este modo nuestra pelcula ocupar menos memoria y funcionar
ms rpido.
No tiene en absoluto ningn sentido que realicemos una animacin con imgenes a 32
bits, porque por un lado nuestra pelcula ocupar demasiado y se arrastrar muy lentamente
en un CD-ROM de 4X velocidad, e incluso en CD-ROM de mayor velocidad. Por eso es
conveniente probar las pelculas directamente en CD antes de distribuirlas para evitarnos
sorpresas.
Supongamos que tenemos los grficos que vamos a introducir en nuestra pelcula
preparados en su carpeta o directorio correspondiente. Seleccionamos la opcin del men File
-> Import, y obtendremos una ventana similar a la mostrada en la figura siguiente:
En el ejemplo vemos una pelcula QuickTime, un grfico en formato PICT, una pelcula de
Director 7, y un archivo de sonido en formato AIF.
Una vez le hemos dado al botn "IMPORT" y le hemos expresado nuestra conformidad a
Director, nos aparece una ventana similar a la siguiente en donde podemos fijar algunos
ajustes.
Como podemos ver, en esta ventana podemos ajustar la profundidad de color (en el
ejemplo 8 bits - 256 colores) y podemos asignarle una paleta de color.
Lo ms usual para empezar es asignarle la paleta de color de nuestro sistema, bien sea
Macintosh PC y activar la opcin "Dither" para que los degradados de color de la imagen
sean lo ms suaves posible.
Tambin podemos hacer que el resto de imgenes que importamos mantengan las
propiedades definidas para esta.
Una vez le damos a n el proceso de importar se ha terminado y el grfico pasa a ser parte
de la ventana Cast.
El grfico se colocar por defecto en la primera casilla libre que encuentre el la ventana
Cast, o bien, si tenamos seleccionada una casilla concreta antes de importar, el grfico se
colocar en esta casilla.
Una vez que hemos importado la imagen en el Cast, podemos ajustar alguna de sus
propiedades. Para ello, seleccionamos el miembro del Cast que contiene la imagen y pulsamos
sobre el botn con el smbolo . Con esto accedemos a las propiedades del miembro
seleccionado en la ventana Cast.
Conviene recordar que estos ajustes son distintos segn que tipo de miembro tengamos
en el Cast.
La ventana que se muestra a continuacin es la que nos aparece para los miembros de
reparto grficos.
En primer lugar vemos, que tanto en la ventana Cast como aqu, Director ha recordado el
nombre original del grfico, pero siempre podemos cambiarlo en esta ventana o directamente
en la ventana Cast.
En esta ventana siempre podemos cambiar en ltima instancia, las particularidades del
grfico. Esta opcin del men "Modify" se encuentra desactivada, si no est seleccionado un
grfico en la ventana Cast. La forma que presenta esta ventana la podemos ver en el grfico
siguiente:
3.1. Introduccin.
Cuando desarrollamos una produccin multimedia, tenemos que tener en cuenta que este
material debe poder reproducirse en sistemas inferiores a aquellos con los que estamos
desarrollando la aplicacin, como PCs con procesadores ms lentos, menor capacidad de
memoria, lector de CD/DVD de menor velocidad, etc.
En la ventana de Cast, vemos ahora, al lado del grfico, nuestro primer sonido importado.
Los iconos de ambos son diferentes , y esto nos ayuda a identificar los miembros de reparto
en el Cast de forma rpida.
Si hacemos clic sobre el botn , con el miembro sonido seleccionado en el Cast,
veremos que nos aparece la ventana de propiedades del sonido.
4.1. Introduccin.
Si el vdeo adems tiene sonido, debemos vigilar que el formato del sonido tambin sea el
adecuado, si no queremos que nuestro video vaya a saltos y pierda fotogramas intentando
sincronizar la imagen con el sonido.
Sobra decir que es tarea imposible intentar reproducir a la vez dos videos con sonido en
pantalla a un tiempo y esperar un resultado lejanamente aceptable.
Aunque podemos hacer video digital al tamao que queramos en un programa editor de
video, como Adobe Premiere, hay algunos formatos estndares que nos convendr usar, como
el estndar QuickTime (320 X 240 pixels). Este formato es el ms grande recomendable a la
hora de insertar video en nuestra aplicacin multimedia.
Abordaremos las capacidades del lenguaje Lingo para controlar el video, ms adelante,
cuando estemos aprendiendo Lingo, ahora vamos a ver que propiedades del video podemos
ajustar en el Cast una vez importado.
Como vemos, el video se ajusta como otro miembro del reparto ms, disponible desde
ahora en nuestra pelicula.
Aqui vemos las propiedades del video a las que podemos acceder en la ventana Cast:
Options:
o Direct To Stage: Es una propiedad por defecto del video. Normalmente el
video nunca deja que otro elemento se ponga sobre l, bien sea texto, un
grfico, etc. Si un grfico pasa por delante del video, el video se pondr
sobre l de forma que no podremos verlo mientras se encuentre en el
mbito del video. Si desactivamos esta opcin, el vdeo dejar pasar sobre
l a los dems miembros de la pelcula pero, en contrapartida, funcionar a
saltos y de forma poco fluida, por lo que no conviene desactivar esta
opcin.
o Show Controler: Nos mostrar la barra de progreso de la pelcula
QuickTime, mientras funciona en el escenario.
Las Opciones Enable Preload y Unload, son para la gestin de la carga y descarga en
memoria del video.
5. Trabajar en el Score.
Ya hemos visto todo el proceso de importar los diferentes componentes multimedia para
nuestra produccin. El siguiente paso consiste en colocar los diferentes actores en el Score y
en el escenario. Supongamos que nuestra produccin dispone de los tres miembros del Cast
que se muestran en la figura siguiente.
Una vez que tenemos todos los miembros del reparto de nuestra produccin en el Cast,
podemos incorporarlos en la pelcula arrastrando el miembro del reparto desde la ventana del
Cast sobre la ventana Score o sobre el escenario directamente. De esta forma tan simple ya
habremos colocado el miembro en el escenario, por lo que a partir de ahora cuando nos
refiramos a este personaje, colocado en el Score le llamaremos "Sprite".
Colocar sonido es similar a colocar un grfico pero solamente podemos arrastrarlo sobre
alguno de los dos canales de sonido del Score. Para prolongarlo en el tiempo procederemos
de la misma manera que con los sprites grficos del ejemplo anterior.
En Director tenemos dos canales para el sonido, que podemos usar al mismo tiempo.
Ambos canales sonarn juntos si tienen ambos sonido en una misma porcin de tiempo.
Para conseguir esto, podemos arrastrar el ciclista desde la ventana Cast hasta el
escenario o hasta la ventana Score. De forma que pasara a ocupar uno o varios cuadros por
defecto en el score, apareciendo tambien en el escenario.
Para esto cogemos el sprite por su punto final en el Score y lo encogemos para que solo
ocupe de principio un cuadro, que ser el punto de partida de la animacin.
Para dar una sensacin de continuidad entre la imagen y el fondo del escenario, vamos a
definir un color para el fondo de la pelcula (Modify -> Movie -> Properties) y vamos a
asignar fondo transparente al sprite del ciclista (Background Transparent), para que sus
partes blancas pasen a ser transparentes.
Para esto, pulsando la tecla "ALT" y arrastramos el sprite hasta el cuadro 10. Vemos
como no movemos el cuadro 5 hasta la posicion 10 sino que nos llevamos una copia del sprite
hasta esta posicin. Si no hubiramos pulsado la tecla "ALT" simplemente habramos movido
el cuadro 5 hasta la posicin 10.
Con esto estamos asignando un nuevo tiempo en la pelicula, en el que nuestro actor
estar en otra posicin.
Como vemos Director ha creado una lnea de animacin, desde el punto inicial, hasta la
nueva posicin en el cuadro 10, generando todos los pasos intermedios. Ahora vamos a hacer
la misma operacin pero estirando el sprite hasta la posicin 15, en donde el ciclista ya
desaparecer del escenario por la parte derecha.
Para esto hacemos lo mismo que en el caso anterior: estiramos una copia del sprite con la
tecla "ALT pulsada hasta la posicin 15, y en esa posicin colocamos el sprite en el
escenario, desapareciendo ya por la parte derecha de la pantalla.
Con esto tenemos una primera animacin bsica. Si vamos al men "Control > Play"
veremos como el ciclista recorre el escenario de izquierda a derecha. Si queremos ajustar la
trayectoria de movimiento, podemos recurrir al men "Modify > Sprite > Tweening", para
definir la trayectoria del sprite como mejor nos convenga.
Con este cuadro seleccionado vamos al men "Modify > Frame > Tempo", en donde
nos sale esta siguiente ventana en donde podemos asignar el tiempo, en el ejemplo 5 fps
(frames per second). Debemos cuidar que la velocidad de la pelcula no sea excesiva, para
que no sobrepase la capacidad de un procesador poco potente, ms an cuando est
corriendo sobre un CD.
6.3. Filmloops.
Hasta ahora hemos visto como crear animaciones sencillas a partir de una imagen
esttica. Si queremos reproducir una animacin ms compleja, como una persona o un perro
caminando, necesitamos combinar varias imgenes estticas para conseguir sensacin de
movimiento. Por ejemplo, en el caso de de un mueco, debe ir moviendo los brazos y las
piernas mientras avanza hacia delante, con lo cual en cada paso tenemos cuatro movimientos
para los brazos y piernas, a la vez tendremos que hacer avanzar el mueco hacia delante con
todos sus movimientos de andar. Para conseguir estas animaciones podemos usar los
FilmLoops.
Los Filmloops son animaciones creadas mediante la composicin de imgenes individuales
que, utilizadas de forma conjunta, nos dan sensacin de movimiento. Para ello hacemos lo
siguiente:
2. Colocamos todos los elementos del Cast (imgenes individuales) en el Score uno
a continuacin de otro con una duracin de 1 frame.
Los sprites tambin presentan dos eventos: comienzo y final del sprite, que los
capturamos mediante on beginSprite y on endSprite respectivamente. Dentro de estos
eventos podemos programas las acciones que se llevarn a cabo al comienzo y final del sprite.
Sprite(numero).NombrePropiedad, donde
Podemos modificar el miembro del reparto Cast que forma parte de un determinado sprite
en un momento determinado. Para ello utilizamos la propiedad memberNum con el valor del
ndice del Cast que ocupa el actor que queremos incorporar en el sprite.
Tenemos varias formas de cambiar el valor asignado a una propiedad de un sprite. Por
ejemplo, si queremos cambiar el valor de la propiedad loch del sprite 2 lo podemos hacer de
las dos formas siguientes:
sprite(2).loch = 10.
Set the loch of sprite 2 to 10.
Cada vez que realizamos una modificacin sobre propiedades de los actores en el stage,
tenemos que actualizar el contenido del mismo por medio del comando updatestage. En
caso contrario, los sprites contendran los nuevos valores pero no se veran reflejados en el
escenario.
8. Introduccin a Lingo.
A continuacin vamos a ver los fundamentos de programacin del lenguaje proporcionado
por Macromedia Director llamado Lingo.
8.1. Variables.
Una variable es una forma de guardar datos. Es un almacn de datos que se nos
permite recuperar y actualizar su contenido. Las variables se componen de dos partes:
nombre y valor.
Para trabajar con variables vamos a utilizar la ventana Message (CTRL + M). Por medio
del comando put podemos mostrar informacin del valor de una variable en un momento
determinado en esta ventana. Por medio del comando set podemos asignar valores a las
variables. Por ejemplo, podemos definir la variable miNumero a la que damos el valor 10.
Posteriormente escribimos su contenido en pantalla por medio del comando put. En el grfico
siguiente podemos ver esta secuencia de acciones.
Las principales caractersticas que deben tener los nombres de las variables son:
El nombre de una variable puede tener hasta 256 caracteres de longitud (aunque
nunca es recomendable tener un nombre tan largo).
Han de empezar con una letra (a-z) o con guin bajo y pueden tener maysculas
o minsculas. A continuacin se pueden escribir nmeros
Los nombres de las variables nicamente tienen una palabra, es decir, no se
pueden utilizar espacios en blanco.
Conviene asignar a las variables nombres que tengan algn significado, como: Nombre,
Edad, Fecha_Nacimiento, etc.
Lingo no diferencia entre maysculas y minsculas, por lo que las variables Nombre,
nombre y NOMBRE son la misma.
Los tipos de datos de las variables pueden ser: Integer (entero), Float (decimal con
coma flotante), String (cadena), Lista. En la figura siguiente podemos ver la forma que
presentan las listas y como podemos referenciar sus datos de manera individual.
Figura 31.- Variables de tipo lista.
Entendemos por variables locales aquellas que son accesibles nicamente en la funcin o
procedimiento donde se han definido. Estas variables no pueden perdurar o no son accesibles
fuera de ese procedimiento o funcin.
on mouseDown
set pulsacion = pulsacion + 1
end
Esta variable no perdurar fuera de este handler. Podemos realizar operaciones con ella
en el mbito del handler mouseDown pero no podemos usarla en otra parte del programa.
Para tener variables perdurables en memoria durante todo el programa, usamos las
variables globales.
global pulsacion
set pulsacion = 0
Esta variable la hemos declarado como global, por lo tanto permanecer en memoria
hasta la finalizacin del programa. Si por ejemplo queremos llevar la cuenta de los clicks que
hace el usuario con el ratn, podemos crear un Handler donde inicializar la variable global,
como por ejemplo al comenzar la ejecucin:
on startMovie
global numClics
set numClics = 0
end
on mouseDown
global numClics
set numClics = numClics + 1
end
on mouseDown
global numClics
set numClics = numClics + 1
if ( numClics = 10 ) then
alert "has pulsado el ratn 10 veces"
end if
end
O llamar a esta variable desde otra parte del programa u otro Handler.
on exitFrame
global numClics
if ( numClics = 10 ) then
alert "has pulsado el ratn 10 veces"
end if
end
Para destruir de la memoria las variables globales, por ejemplo al cerrar el programa,
para liberar la memoria del ordenador, utilizamos la sentencia clearGlobals.
8.2. Operadores.
Un operador es un smbolo o una palabra que acta sobre uno o ms elementos. Los
operadores son parte de Lingo y se utilizan para efectuar clculos, asignaciones y
comparaciones. Los diferentes tipos de operadores que nos podemos encontrar en Lingo son:
Operador Nombre
= Igual
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Distinto de
Operador Nombre
El control de las estructuras nos permite modificar el flujo de un programa. Hasta ahora,
el flujo de un programa empezaba en la parte superior del mismo y avanzaba linealmente
hasta la inferior. Por medio de estructuras de control podemos modificar este flujo de
ejecucin.
If condicion then
sentencias
end if
If condicion then
sentencias
else
sentencias
end if
If condicion then
sentencias
else if condicion then
sentencias
end if
Al igual que las sentencias if .. else, nos permite tomar decisiones lgicas mientras
ejecutamos una serie de condiciones. La sintaxis de este tipo de declaracin es la que se
muestra a continuacin:
case (expression) of
valor_expresion1:
sentencias1
valor_expresion2:
sentencias2
............
valor_expresionn:
sentenciasn
end case
case (expression) of
valor_expresion1:
sentencias1
valor_expresion2:
sentencias2
............
valor_expresionn:
sentenciasn
otherwise
sentencias
end case
Vamos a ver un ejemplo: Supongamos que queremos mover la imagen que aparece en la
figura siguiente mediante la pulsacin de las teclas siguientes: J (izquierda), K (derecha),
U (arriba) y N (abajo).
end case
8.3.3. Iteraciones.
Los bucles o iteraciones se usan en programacin para conseguir que un programa repita
una serie de pasos o acciones hasta alcanzar un objetivo. Bsicamente un bucle es una tarea
organizada, un fragmento de cdigo que se encarga de gestionar una tarea repetitiva.
Por ejemplo, si necesitamos declarar como "puppet" todos los sprites del score desde el 1
hasta el 45, un mal programador escribira:
Y as hasta que se le durmieran los dedos. Para evitar esto debemos usar bucles. As por
ejemplo para el caso anterior, el problema estara resuelto con el bucle siguiente:
repeat with x = 1 to 45
set the puppet of sprite x to true
end repeat
A continuacin se describen los dos tipos de bucles que nos podemos encontrar en Lingo.
El bucle "repeat while": Este es un bucle que ejecuta su cdigo mientras se cumpla
una expresin de control. Esta expresin puede ser cualquier variable o expresin que
se pueda evaluar como verdadera (TRUE) o falsa (FALSE). El formato de este bucle es el
siguiente:
Por ejemplo:
startTimer
repeat while the timer < 5 * 60
put "Esperando cinco segundos"
end repeat
Hay que tener cuidado con los bucles repeat while, ya que mientras estn funcionando,
absorvern toda la atencin del programa por lo que, las pulsaciones del ratn, las
animaciones y el resto de acciones de la pelcula se detendrn.
El bucle "repeat with": Este es un "bucle contador". Realiza una serie de acciones
hasta que un contador alcanza un nmero predefinido por el programador. El formato
de este bucle es el siguiente:
repeat with variable=inicio to final
sentencias
end repeat
Por ejemplo:
Este bucle repite la accin de bsqueda desde 1 hasta el numero de palabras que hay
en el campo "textos".
El bucle siguiente simplemente realiza una cuenta de 1 a 260, contando de uno e uno, y
la imprime en un campo de texto.
Este otro, realiza la misma cuenta de 1 a 260, pero contado de dos en dos, ya que el
valor de la variable "cuenta" es aumentada en 2 en cada iteracin del bucle.
Es fcil imaginarse cientos de utilidades para los bucles, desde una simple cuenta, hasta
la programacin de la trayectoria de una pelota de ftbol o un proyectil en un juego. Siempre
que queramos realizar acciones repetitivas en un programa debemos recurrir a los bucles, ya
que estos forman parte de cualquier estructura de cdigo en cualquier lenguaje de
programacin.
Entendemos por eventos aquellas acciones que pueden ocurrir en nuestra pelcula y que
podemos capturar y manipular por medio de un manejador de eventos o handler. Algunos
ejemplos de eventos son: pulsacin de una tecla del teclado, pulsar sobre alguno de los
botones del ratn, comenzar la pelcula, etc.
Cada vez que ocurre alguno de estos eventos, son capturados por medio de un handler o
manejador que nos permite programar el conjunto de acciones que queremos que se
ejecuten. Algunos ejemplos de manejadores de eventos son: on KeyDown, on KeyUp, on
MouseDown, on MouseUp, on exitframe, etc.
on keyDown:
o Sintaxis:
On KeyDown
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando se pulsa una tecla.
Si queremos aplicar este handler a un sprite que sea un campo editable,
debemos poner el handler en un script de sprite.
Si queremos aplicar este handler a un miembro del reparto que sea un campo
editable, debemos poner el handler en un script del miembro del cast.
Si queremos aplicar este handler a un todo un frame, debemos poner el handler
en un frame script.
Si queremos aplicar este handler a toda la pelcula, debemos poner el handler en
un movie script.
o Ejemplo:
on keyDown
if the key = RETURN then go to frame 5
end keyDown
on keyUp:
o Sintaxis:
On KeyUp
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando soltamos una tecla pulsada.
Si queremos aplicar este handler a un sprite que sea un campo editable,
debemos poner el handler en un script de sprite.
Si queremos aplicar este handler a un miembro del reparto que sea un campo
editable, debemos poner el handler en un script del miembro del cast.
Si queremos aplicar este handler a un todo un frame, debemos poner el handler
en un frame script.
Si queremos aplicar este handler a toda la pelcula, debemos poner el handler en
un movie script.
o Ejemplo:
on keyUp
if the key = RETURN then go to frame 5
end keyUp
on MouseDown:
o Sintaxis:
On MouseDown
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando pulsamos un botn del ratn.
on MouseEnter:
o Sintaxis:
On MouseEnter
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando el puntero del ratn entra en el rea
activa de un sprite, aun cuando no pulsemos ningn botn del mismo.
on MouseLeave:
o Sintaxis:
On MouseLeave
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando el puntero del ratn sale del rea
activa de un sprite.
on MouseWithin:
o Sintaxis:
On MouseWithin
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando el puntero del ratn se encuentra
dentro del rea activa de un sprite.
on rightMouseDown:
o Sintaxis:
On rightMouseDown
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando pulsamos sobre el botn derecho del
ratn.
on rightMouseUp:
o Sintaxis:
On rightMouseUp
Sentencias
End
o Descripcin:
Es el manejador usado por Director cuando soltamos el botn derecho del ratn
que hemos pulsado previamente.