Professional Documents
Culture Documents
Impreso en Mxico
Primera edicin, Julio de 2004
ISBN: 968-5049-44-0
Todos los derechos reservados. Esta publicacin no puede ser reproducida, ni en todo ni en
parte, ni registrada en o transmitida por un sistema de recuperacin de informacin, en
ninguna forma ni por ningn medio, sea mecnico, fotoqumico, electrnico, magntico,
electroptico, por fotocopia o cualquier otro, sin el permiso previo y por escrito del titular del
Copyright.
Multimedia Builder, RealDrawPro, DVD-Lab y Mediachance son marcas registradas de
MediaChance. Todos los nombres de productos y companas son marcas registradas de sus
respectivas empresas.
1
Qu vamos a utilizar?
Antes de decir cualquier cosa, pesque al vuelo la siguiente
definicin: Multimedia es el uso de medios mltiples.
Qu bonita perogrullada! Djeme la compongo: es el uso, en
una misma aplicacin, de texto, imgenes, sonido y video. Por
eso llamamos multimedia a los programas que utilizan estos
elementos para presentar informacin, aunque no necesariamente la procesen, como las enciclopedias, la mayora de las
cuales, adems, son interactivas (espero que no necesite que le
defina interactivas o si?).
Un programa multimedia, por tanto, suele ser aqul que tiene
musiquita, sus grficos se mueven y, a veces, tiene cortos de
video. Cosa que casi todos los nios y jvenes han visto en los
videojuegos, los cuales, sobra decirlo, son multimedia (los
videojuegos, no los nios, aunque creo que tambin).
Hasta hace algunos aos, el nico camino para crear programas multimedia era el dominar, a veces hasta niveles muy
avanzados, algn lenguaje de programacin, como el temido
lenguaje C, o su descendiente evolutivo, el C++ (lase C, plus
plus). Y si bien, con el tiempo, algunos lenguajes ms sencillos
y asequibles a los aficionados, como el Visual Basic, extendieron
sus herramientas para facilitar la creacin de programas
multimedia, el caso es que el requisito era el mismo: dominar un
lenguaje de programacin.
Esto no tendra nada de malo en s mismo, sino fuera por el
hecho de que hay un gran sector de usuarios de computadoras
que, por las razones que se quiera, han soado con crear sus
propias aplicaciones y presentaciones multimedia, pero que,
enfrascados en su propia especialidad, se niegan a aprender
todo un lenguaje de este tipo.
No sera raro pensar, por ejemplo, en empleados de mercadotecnia que les gustara usar CD ROMs para promover sus
productos, pero que el presupuesto de la pequea empresa en
la que trabajan, les impida pagar los servicios de un programador
8
11
12
13
2
La Interfaz de Pantalla de Multimedia
Builder
La interfaz de Multimedia Builder es similar a la de algunos
programas de dibujo. En lo personal me recuerda a PhotoPaint, de
Corel, con sus propias caractersticas, por supuesto. Veamos:
Barra de ttulo
Reglas
Men
Barra de herramientas
Panel de
objetos
Paleta de
objetos
rea de trabajo
Herramientas de pgina
Panel de pginas
Men
Barra de Herramientas
Nueva
pgina
Borrar
pgina
Organizador
de pginas
Mandar
atrs
Depurar y
probar pgina
Administracin de grupos
de objetos
uno
17
Un clic en el "Panel de
pginas" y cambia el rea de
trabajo a la pgina correspondiente. Dos clics y se abre su
cuadro de dilogo de propiedades que ya estudiaremos algn
da, cuando llegue usted a esa
parte que tanto le inquieta...
18
19
20
3
Cmo funciona?
Un programa creado con MMB es una interfaz que puede tener
varias pginas. Cada pgina puede contener distintos objetos y
a cada uno le podemos asociar ciertas acciones. Dichas acciones pueden desencadenarse con un clic del ratn, como un
mapa de bits que reproduzca msica al ser pulsado, o ejecutarse
automticamente despus de cierto tiempo, entre otras combinaciones.
Por tanto, el trabajo consiste en definir cuntas pginas
necesita nuestra aplicacin, qu va a pasar en cada pgina y
cmo se van a entrelazar unas a otras. Dicho de otro modo, cada
pgina puede significar una tarea nica en su programa, lo que
hace al conjunto ms fcil de entender e incluso de modificar,
pues basta con editar, quitar o poner pginas, para que el
programa cambie sus funciones.
Si en una pgina se va a reproducir un archivo de video en
formato AVI o MPEG, entonces deber aadir dicho archivo al
conjunto. Al final, deber compilar todo el trabajo conforme al
procedimiento que explicaremos ms adelante, lo que dar
como resultado un archivo con extensin .EXE. Es decir, un
archivo ejecutable en Windows que junto con otros archivos
necesarios, podr grabar en un CD-ROM y, tan, tan, habr
terminado. Como ve, no es difcil.
Durante el periodo de diseo de su programa, usted puede
compilarlo y ejecutarlo a modo de prueba, antes de generar el
archivo .EXE definitivo, con el men Project-Run o el botn
Compile & Run de la barra de herramientas.
El men o el botn permiten ejecutar
los programas que estn en fase de
diseo, por lo que deber usarlos con
frecuencia. Si observa el botn, ver
que me qued con el "skin" de Mac,
para seguir desagraviando maqueros.
21
22
23
*La traduccin se la debemos a Doa Chonita, ex-bracera que trabaj en casa de unos
programadores en Mannhatan y que, por tanto, no slo aprendi ingls, sino que adems
se volvi experta en computacin. Sin embargo, dice que sus patrones se la pasaban
chateando y que a ella eso le aburre, por lo que prefiere su puesto de quesadillas en Santa
Mara Aztahuacn. Las cuales, dicho sea de paso, le quedan buensimas.
25
Como todo mundo sabe, y estoy seguro que usted no es la excepcin, al usar el
men "Guardar-Cmo...", se abre un cuadro de dilogo que sirve no slo para
elegir el nombre y la carpeta del archivo a grabar, sino tambin su tipo. En Paint,
podemos seleccionar que las imgenes se graben como BMP de 256 colores. El
resultado para usar la imagen como interfaz de MMB ser sensacional.
26
28
29
*Los que nos vestimos con ropa de los tianguis, ni nos preocupamos por eso. Tal vez
nos estn vedados algunos crculos, pero ah! qu felices somos por no sufrir por la moda.
Es usted de los mos amigo(a) lector(a)?
31
- Display Resolution
Esta opcin modifica la resolucin de la mquina para ajustarla a la de la aplicacin. Algunos programas multimedia suelen
hacer esto para cambiar la visualizacin de las imgenes a 640
x 480 (que se veran muy pequeas en monitores de mayor
resolucin). Sin embargo, hay que considerar que no todos los
manejadores de video soportan esta opcin y, por tanto, su
programa podra no funcionar en algunas mquinas.
El cambio de resolucin es temporal
durante la ejecucin de su programa, sin
embargo, esta opcin puede experimentar fallos con algunos equipos.
32
3.2 Pginas
Hemos insistido en varias ocasiones que los programas de
MMB constan de una o varias pginas que se conectan entre s
y que cada una puede cumplir distintas funciones segn los
objetos que contenga y las acciones que se le hayan asignado.
Espero no tener que repetir eso mismo en esta seccin en donde
revisaremos todo lo que necesita saber para trabajar con las
pginas, porque en el momento en el que escribo esto ya pasa
de la medianoche y la verdad no me hara gracia que no lo haya
entendido an, comprenda que ya tengo mucho sueo como
para repetir otra vez las cosas, mejor relalas, pero ms o menos
a la misma hora en la que estoy ahorita, para que quedemos a
mano. Avancemos pues, para que no se me duerma.
Recuerde tambin que cuando hablamos de la interfaz,
mencionamos las Herramientas de pgina y el Panel de
pginas, usaremos ambas cosas, adems del men Page.
Qu page?
35
Cdigo que se
ejecuta al entrar
la pgina
Track de CD-Audio o
archivo de sonido que
se escucha cuando
entra la pgina
Configuracin
del fondo.
Efecto de transicin.
Alternativamente a una
imagen, podemos usar un
color de fondo
41
42
44
Men
Barra de Herramientas
45
El objeto de texto, ya
creado y seleccionado.
47
El men Arrange-Nudge nos permite desplazar con precisin los objetos. A su vez, con Arrange-Align podemos alinearlos sin problemas y con Arrange-Order decidimos cul va
adelante y cul va atrs, para que nadie se pelee.
48
El icono de la
izquierda muestra el
tipo de objeto. El ojo
indica si el objeto
est visible o no.
El botn inferior
abre el
previsualizador
de objetos.
50
En realidad, no creo que a Ponchito le entusiasme mucho ayudar a un pobre autor de libros
de computacin querindose hacer el chistoso. Lo que si es cierto es que durante los das que
dur la redaccin de este trabajo, la mayora de las veces anduve medio sope.
51
Un grupo de gente, de la secta virtual que se rene por Internet llamada "Sigamos a
Bill Gates, el salvador y digamos NO a Steve Jobs, el falso redentor", cuando vieron
el borrador del libro me dijeron que ya era demasiado el desagravio a los "maqueros",
por lo que me conminaron "amablemente" a volver al "skin" de Windows XP de MMB, o
lo lamentara mucho. Prefer no discutir con ellos y cambiar de Skin.
52
3.4 Acciones
Las acciones que podemos asociar a los objetos estn clasificadas en cuatro categoras en MMB. Las tres primeras estn diseadas para generar nuestro programa multimedia sin necesidad de
escribir un pice de cdigo, es decir, sin escribir una lnea de
programa, cosa que, las ms de las veces, nos da mucha flojera. La
cuarta categora nos da acceso a todas las dems, es ms verstil,
aunque s implica escribir pequeos segmentos de cdigo que
llamamos scripts, pero no se espante, en la mayora de los casos
eso no ser necesario o, de serlo, ser muy simple, a menos que
desee desarrollar cosas realmente complejas y se convierta usted
en el Wagner* de los programas multimedia, frentico, incansable
y con mucho, mucho talento.
Como ya mencionamos, el acceso a esas acciones es a travs
del cuadro de dilogo de propiedades del objeto seleccionado.
Seguro ya vio la seccin de botones a la que nos referimos,
llamada Actions, y se le queman ya las manos por usarlos.
Y si se apellida como yo, Gonzlez, correr el riesgo de que le digan "Luis, el wagnerito,
Gonzlez" y no es que tenga mucho talento, sino por lo exaltado.
54
Acciones de sonido.
Scripts.
55
Esto extrao que ve aqu, que dice "<SrcDir>", es una ruta relativa
y ser motivo de estudio ms adelante. En tanto, considere que el
botn de los puntos suspensivos sirve para abrir un cuadro de
dilogo para ubicar el archivo a especificar.
La caja "Path", por tanto, no slo sirve para sealar archivos, tambin la usamos
para indicar direcciones de internet. Cuando este comando entra en accin, al
hacer clic en el objeto, se abre el navegador de internet predeterminado de la
computadora. De modo similar, cuando usamos el comando para mandar un
correo electrnico, se abre programa de correo predeterminado.
58
Como son posibles dos acciones cuando hacemos clic, podramos, por ejemplo, que el objeto de video aparezca (suponiendo que estuviera oculto), al mismo tiempo que comienza la
reproduccin del video.
En el CD-ROM encontrar el
archivo llamado "Abailar". El sonido
lo ponemos nosotros, la accin de
bailar la pone usted, as que
levntese y tire un rato la polilla.
"Script
Wizard"
Editor
"ampliado".
65
66
En el administrador de objetos
podemos ver un nuevo objeto de
mapa de bits, pero tambin que el
objeto de texto se renombra y oculta.
70
71
72
73
74
Nivel de
compresin.
Otros parmetros.
Informacin del
programa
Lista de advertencias
de compilacin
Espero que est de ms decir que debe indicar una carpeta del
disco duro y que no grabe directo en un CD (aunque cuente con
un software como DirectCD u otros similares), el proceso de
grabacin en el CD debe hacerlo despus con el programa que
use para quemar discos, como Easy CD Creator de Roxio, el
NeroBurn u otros.
Si quiere que su CD sea autoejecutable, debe activar la casilla
de verificacin Generate autorun.inf tal y como se ve en la
imagen anterior, que es un archivo que debe grabar tambin en
el directorio raz del CD-ROM.
Player
Cuando un programa es compilado, suele incluir algunas
libreras necesarias para su ejecucin. Lo mismo ocurre con los
.EXE elaborados con Visual Basic, que suelen aadir en
Windows algunos archivos .dll.
En MMB, elegimos Full en esta seccin del cuadro de
dilogo para que el programa tenga todos los elementos necesarios para su ejecucin en la computadora, sin restriccin de
funciones. En contraste, la opcin E-card genera un .EXE
77
Stand Alone
Si esta casilla est seleccionada, slo se generar el
.EXE. Todas las libreras necesarias para su ejecucin, que
ya mencionbamos antes formarn parte de es archivo. Si
est desactivada, se aadirn esos elementos al conjunto de
archivos. De cualquier modo, integrados o no, son necesarios
para que el programa funcione.
La diferencia en el tamao de
archivo si esta opcin est o no
activada, es realmente irrelevante.
Por lo que sugiero que la deje as.
Secure Layer
Esta opcin aade un cifrado al programa para que no pueda
ser visto por un editor hexadecimal de archivos. Protege pues su
creacin de tcnicas de ingeniera inversa que usan los que les
78
Compression
El programa ya compilado puede ocupar ms o menos espacio
en disco en funcin de su grado de compresin. Sin embargo, el
grado de compresin es inversamente proporcional a la velocidad
en la que el programa es ledo en la memoria de la computadora
Eh, qu tal? A poco no suena apantallante decir inversamente
proporcional? Ya nada ms falta que ponga algo as:
C= 1/vl
Donde C es igual al grado de compresin y vl, velocidad de
lectura. A ver, despeje vl y haga el clculo cuando C es igual a 2/3.
Ja, no es cierto, el asunto es simple, mientras ms compresin, ms tarda en leerse en memoria antes de iniciar su
ejecucin, mientras menos compresin, se lee ms rpido. Un
consejo, si su programa es pequeo, no lo comprima y santa paz.
79
Si entrega un programa con este icono a algn cliente, descubrir con qu ha hecho todo el trabajo y si, adems, conoce este
libro, le dir que todo le fue muy fcil y van a querer que les
devuelva su dinero. Por tanto, tendr que usar esta opcin para
designar un icono distinto (son los archivos con la extensin .ico).
El proceso de compilacin
es seguro cuando en esta
zona no hay ninguna
advertencia de errores.
81
4
Objetos
Como seguramente ya se dio cuenta, la ventana de propiedades de cada tipo de objeto es diferente a la de los dems. Esto
se debe a lo que es posible con cada uno de ellos y lo que no. Por
ejemplo, y para no extendernos en lo obvio, una lnea no puede
tener Scripts, ni otras acciones asociadas. Si no me cree, dibuje
una lnea en el rea de trabajo de MMB y luego dele doble clic
para abrir su ventana de propiedades.
Por lo que aqu slo cabe agregar que podemos clasificar a los
objetos de dos maneras, como activos o pasivos. Adivina la
diferencia? Los activos pueden aadrseles acciones, los pasivos son slo como las lneas, no hacen nada por ms que les
hagamos clic con el ratn.
Hagamos pues una revisin de las caractersticas de cada tipo
de objeto y no haga analogas sobre cmo es cada quin en la cama.
84
Oculto y bloqueado.
Mensaje cuando
sealamos el
objeto con el
cursor.
Alineacin del
texto y tipo de
fuente.
Acciones
87
El tipo de letra, su
estilo y tamao se
eligen en el cuadro de
dilogo del botn
"Font". Este cuadro,
en realidad, es comn
a muchos programas
para Windows en
donde editamos texto.
88
89
90
91
Texto del
botn
Color y
efectos del
botn.
Forma del
cursor
Botones de
accin
92
4.3.1 Primitivas
Primitivas son unas lamentables criaturas que nunca evolucionaron, viven en cavernas, con suerte visten pieles de
animales que cazan, si no es que andan desnudas, son nmadas
y no han desarrollado el lenguaje. Dada su ferocidad y ansia de
alimentos, se dice que lograron colarse entre la clase poltica, por
la similitud entre ambas especies y lo escaso de su cerebro. Se
cree que incluso algunas de ellas han escalado a altos puestos.
Tambin les llaman dinosaurios
Sin embargo, en MMB les decimos primitivas a las formas
grficas simples, el rectngulo, el crculo, los polgonos y las
lneas. Estas figuras primitivas no deben serlo tanto, ya que
piensan demandar a las primeras por el uso del nombre y por el
dao a su reputacin que su actuar les provoca.
A pesar de eso, las primitivas pueden ser activas o pasivas
(excepto la lnea, que slo es pasiva), segn definimos antes
(tener o no acciones programadas). Los rectngulos, crculos y
polgonos tienen cuadros de propiedades comunes, donde establecemos el color de su relleno y el estilo del borde, as como las
ya conocidas Label, Hide y Lock Position.
Para insertar una figura primitiva, la seleccionamos del men
o de la barra y con el cursor la dibujamos en el rea de la interfaz,
como tantas veces ha hecho en Paint con tal de entretener al nio
que insiste en usar la computadora, sin aceptar que a los nios
ese programa los aburre porque saben, desde que nacen, que
las computadoras pueden tener juegos mucho mas divertidos.
Como ya hemos visto, en la barra de
herramientas estn todas las primitivas
en una barra emergente y como en
esta pgina ya no cabe, nos ahorramos
la imagen del men "Object".
94
Propiedades de etiqueta,
oculto, bloquear posicin y
leyenda de cursor.
Color de relleno, color y estilo
de lnea.
Acciones de objeto.
96
Una alternativa intermedia es modificar una imagen y convertirla inmediatamente en un nuevo original, lo que eliminar de
inmediato el archivo temporal de la memoria. Esto se consigue
*Soy conciente de que ya antes habamos hablado de los archivos temporales de las
imgenes que se guardan en el proyecto y del men "File-Reduce Size". Pero en ese
momento hablbamos de la depuracin del proyecto para su compilacin, ahora lo
mencionamos como parte del tema de uso de imgenes. La enseanza es redundante
para reforzar la comprensin de los temas.
98
Veamos otros cambios que podemos aplicar sobre las imgenes, antes de pasar a sus propiedades. Slo recuerde que toda
esta chchara de restaurar el original, borrar temporales y
dems, tambin puede aplicarse con los dems cambios, no slo
con el redimensionamiento, como ya mencionamos.
Para recortar una imagen, seleccionamos el men EffectsCrop, luego dibujamos el rectngulo de recorte sobre el mapa
de bits y vemos el resultado.
Al seleccionar esta opcin de men, el
cursor cobra una forma caracterstica.
Luego dibujamos un rectngulo en la
imagen, que es lo que quedar
despus del recorte.
Doa Chonita, adems de que le salen muy bien las quesadillas de championes
con queso oaxaca, tiene un extraordinario sentido de la oportunidad, pues lleg
buscando su computadora precisamente cuando necesitaba traducir el mensaje. Yo
estaba a punto de escribir: "Este Will Make y todos los changos permanecieron en este
bitmap. Usted no hablar a restauracin de originales, imagine que Restaur el
original. Gusta continuar".
Por cierto, Doa Chonita tambin me advirti que ni se me ocurriera mirar las imgenes
que baja de www.playgirl.com. Quien la viera....
99
Nueva imagen.
101
102
A una imagen as, podemos aplicarle mejor algn MMBEffects; por ejemplo, Fire (Fuego). En el cuadro de dilogo
103
La direccin y
velocidad del viento, la
intensidad de las
llamas, etctera, son
valores que debe
establecer para crear
el efecto de fuego.
Observe el resultado.
104
Puede ver el resultado en el archivo "Efectos" que est en el CDROM, el cual, dicho sea de paso, ilustra todos los MMB Effects.
105
Original
106
107
108
109
Imagen
transparente.
Fondo transparente.
Acciones.
110
Observe que la imagen del centro est ampliada, muestra barras horizontal y
vertical y con el ratn podemos desplazarla dentro del recuadro que la contiene.
Intente ahora imaginar todas las posibilidades que da combinar lo que hemos visto hasta ahora: Efectos especiales, efectos
interactivos, pellizcos de color, transparencias, zoom, reflejos
horizontales y verticales, etctera, etctera. La imaginacin, si
fuera un buen sastre, tiene a partir de ahora muchos metros de
tela donde cortar.
Informacin
del Gif y
velocidad.
Opciones de
animacin
114
116
Imagen cuando
pasa el cursor
sobre el botn
Imagen cuando se
hace clic
Leer el archivo de
imagen o pegar desde el
portapapeles.
Acciones que se
derivan del clic al botn.
Desfase de la
posicin de la
imagen para
resaltar el clic.
121
En el CD-ROM va a encontrar un proyecto llamado FX, pero honestamente ni lo abra, mejor hgalo usted. Este ejemplo est muy rampln.
122
124
126
127
Acciones despus
de finalizado el
video.
Imagen de
presentacin.
Guardar imagen de
presentacin.
Script asociado a
la ejecucin de
Velocidad de reproduccin.
video.
Las propiedades Label, Hide Still image (ocultar la imagen congelada que seleccion al insertar el video) y Lock
Position no requieren explicacin. En cambio, observe que
desde esta ventana puede leer otro archivo AVI para que
sustituya al anterior. Esto se debe a que el video, de cualquier
manera, permanece como un archivo externo al programa final
de MMB. Por tanto, no olvide que debe usted sustituir la ruta de
acceso al archivo por su equivalente relativo, que ya vimos antes
o no funcionar bien en todas las computadoras a donde su
programa vaya a parar.
130
La propiedad Speed permite modificar la velocidad de reproduccin del video, sobre la base de que 1000 es la velocidad normal.
Valores menores ralentizan el video, mayores lo aceleran.
"Mask" permite leer un mapa de bits (generalmente en blanco
y negro) que crear un contorno distinto sobre el que se reproducir la pelcula. Hay que crear o elegir un mapa de bits con una
silueta adecuada, todo lo dems funciona igual.
Con el boton podemos seleccionar un mapa de
bits en blanco y negro. La parte negra ser
transparente y servir para crear un contorno
personalizado para la reproduccin de la pelcula.
131
132
5
Otros objetos
5.1 Objetos preprogramados
A poco no est buena la pelcula? No le gust? El final lo
deja a uno sin saber qu? Mmhh, bueno, hablemos de otra cosa.
Como habr comprobado, el botn Wizard de la barra de
herramientas incluye una serie de objetos preprogramados que
simplifican enormemente la elaboracin de controles, fundamentalmente para la ejecucin de audio y video.
Insercin de botones
Efectos visuales
Captura de la tecla "ESC".
134
El tercer grupo del men del botn "Wizard" tiene dos opciones: Insert Lens Flare (Destello de lente) y Glow on Move
Mouse (Brillo al moverse el ratn). En el primer caso, basta
con insertar el efecto de destello sobre un objeto de mapa de bits
para resaltarlo. Se trata de un objeto grfico, por lo que tambin
se le pueden programar acciones.
En el cuadro de dilogo
escogemos el color del
brillo, su tamao, etctera.
137
139
*"Monitorear"? No estoy seguro que esta palabra exista. Cbrala con un lpiz y al
margen del libro escriba la palabra "supervisar". Gracias.
142
143
6
El lenguaje de MMB
Estimado lector: Se acuerda que al inicio de este libro,
incluso en el ttulo, le dije que bamos a hacer CDs multimedia
sin programar? No es que me burle pero Ja, lo enga! Nos
disponemos a programar ahora mismo.
Qu pasa? Por qu mira el libro con esos ojos? Tranquilo,
clmese por favor No tire el libro Noo! (Mmmhh, ya lo tir
y s duele) Ahora recjalo Me deja explicar? A ver, cuente hasta
diez mientras respira profunda y pausadamente. Ya? Va por
puntos:
1.- Su deseo de aprender ya lo trajo hasta aqu a poco no?
Si no le hubiera gustado el asunto ste del MMB, no estara
leyendo esto. Porqu no aprender un poco ms?
2.- Programar es un ejercicio intelectual gratificante. Las
neuronas tambin se ponen flcidas si no hacen un poco de
ejercicio. As que preprese para unas abdominales y lagartijas
abstractas, combinadas con brincos y carreras de induccin y
deduccin y rematadas con un poco de esfuerzo mental. Le va
a gustar, sin albur.
3.- En realidad, el lenguaje de MMB es mucho menos extenso
que otros lenguajes.
El lenguaje C, Pascal, Java, vaya, hasta el vilipendiado Visual
Basic, tienen cientos de comandos y cada uno decenas de
parmetros. En MMB estamos hablando de unos cuantos comandos, unas cuantas funciones y unas pocas reglas. Incluso no
necesita memorizar cmo se escriben los comandos y las
funciones pues, como veremos en breve, el asistente del lenguaje pone todo a la mano.
El premio de aprender a programar en este lenguaje es dominar
hasta el tutano las aplicaciones que podemos hacer con MMB,
para luego sacarle el mximo provecho posible. As que por favor,
deje de hacer pucheros y dispngase para las siguientes pginas,
ligeramente ms densas que el resto del libro.
144
*Para decirlo con franqueza, los efectos visuales y el ritmo de la accin en Matrix son
muy buenos, pero la historia es muy chafa. Para qu tanto discurso plagado de jerga
informtica y de programacin para salir con un final mstico? Mmhh, no me convence.
Para pelculas sobre mundos virtuales, le recomiendo mejor que vea "El piso 13". Y si
quiere conocer los terribles avatares de un matemtico programador de modelos, vea "El
orden del caos". Acuda a su videoclub preferido o a su proveedor de VCD's. (Esta cpsula
de cine fue patrocinada por: "Quesadillas Doa Chonita, sabor que distingue").
146
148
Sabedor de que la existencia le haba asignado un insignificante papel en los programas multimedia, este botn encontr
consuelo trayendo a otro botn igual de mediocre que l.
153
Constantes de Audio
CBK_Total
CBK_Day
Muestra el ao actual.
Ejemplo: 2004
Muestra el nombre del mes actual.
Ejemplo: Julio
Muestra el nmero de mes actual usando
un nmero entero. Obviamente, el rango
es del 1 al 12.
Ejemplo: 7
Muestra el nombre del da actual.
156
CBK_DateNum
CBK_DateShort
CBK_DateLong
CBK_TimeHMS
CBK_Time24
CBK_Hour
CBK_Minute
CBK_Second
Constantes Generales
CBK_PageName
CBK_Volume
CBK_URLpath
CBK_OpenFile
CBK_OpenDir
CBK_SelColor
158
CBK_Menu
CBK_Exit
- WorkAreaHeight()
Devuelve al alto del rea de trabajo como un nmero entero.
De modo similar, el alto del rea de
trabajo es igual a la resolucin menos el
ancho de la barra de tareas. En este
ejemplo, para ilustrar, hemos aumentado
exageradamente la barra, reduciendo el
rea de trabajo.
- MouseX()
Devuelve la posicin horizontal del puntero del ratn en
pantalla como un nmero entero.
- MouseY()
Devuelve la posicin vertical del puntero del ratn en pantalla
como un nmero entero.
Esta funcin y la anterior se ilustran en el archivo "ratnposicin"
del CD-ROM. Estudie el Script del ratn...
161
var=ProcFreq()
Message("La velocidad del procesador en Mhz es: ","var")
162
- PubHeight()
Devuelve el alto de la ventana del proyecto en pxeles como un
nmero entero.
Igual que el caso anterior, pero
ahora se muestra el valor para el
alto de la ventana.
- ClientWidth()
Devuelve el ancho de la ventana del proyecto en pxeles como
164
- PubY()
Devuelve la distancia vertical de la posicin de la ventana de
proyecto respecto al margen superior de la pantalla, en pxeles
y como un nmero entero.
ObjectY("Etiqueta")
ObjectWidth(Etiqueta)
ObjectHeight(Etiqueta)
Si no est minimizada.
Si lo est.
171
175
177
**el resultado es 19
**el resultado es 36, positivo.
- RND(Variable Numrica/nmero)
Esta funcin genera un nmero aleatorio comprendido en el
rango establecido por cero y el valor de una variable numrica o
un nmero. En otras palabras, la variable numrica o un nmero
sern el lmite superior del rango del nmero aleatorio. Considere el siguiente cdigo de ejemplo:
limitesuperior=50
azar=RND(limitesuperior)
Message(El nmero ganador es:,azar)
El resultado, cada vez que el cdigo se ejecute, ser un
nmero aleatorio entre el 0 y el 50.
178
184
Avanzar Lnea
True
False
True
False
False
False
True
True
True
True
Efecto
Si el archivo no existe, se
genera.
Si el archivo ya existe, el
contenido de cadena se
aade a la derecha del texto
del archivo.
Invariablemente, se genera
el archivo de texto, an
cuando se sobrescriba otro
archivo del mismo nombre.
Si el archivo no existe, se
genera.
Si el archivo ya existe, el
contenido de cadena se
aade en una lnea nueva.
188
190
For x=1 to 50
Message(Estamos en la vuelta nmero: ,x)
Next x
La sentencia "Next"
("Siguiente"), ordena el
prximo ciclo.
En cada ciclo se ejecutarn todos los comandos y funciones comprendidos entre las
sentencias For y Next. Aqu slo se trata de
un mensaje que muestra el valor de x.
Ciclos anidados
correctamente.
Ciclos anidados
incorrectamente.
6.4.2 Sentencia If
El Padrino se rasca la barbilla con el dorso de la mano izquierda
hacia arriba, de adentro hacia afuera, en ese movimiento tan suyo
y con esa misma mano le indic a su consigliori que se acercara,
luego con la voz bajita y rasposa que lo distingua le prometi a su
ahijado que actuara y cantara en Las Vegas, que convencera al
empresario necio que le negaba el papel:
198
199
igual
diferente
Menor o igual
Igual o mayor
Mayor
Menor
6.5 Comandos
6.5.1 Comandos de Proyecto
En esta categora estn aquellos comandos que se refieren al
proyecto multimedia como un conjunto, a sus rdenes para salir
204
205
Vista del programa que ilustra el uso del comando "MoveTo", el cual
tambin nos va a servir para ilustrar el uso de "ScriptTimer".
210
Ventana de
mensaje.
215
En el segundo parmetro del comando simplemente especificamos la extensin que va a buscar por default cuando el cuadro
de dilogo aparece:
*.mp3
Con lo que el comando completo se ve ahora as:
OpenFile(Archivos de msica en MP3 (*.mp3) | *.mp3 |
Archivos de sonido WAV (*.wav) | *.wav | Archivos de sonido
MID (*.mid) | *.mid| Archivos de sonido MOD (*.mod) |
*.mod,*.mp3)
La siguiente variante presenta, en una sola lnea de tipos de
archivo, todos los formatos de sonido:
219
222
Los parmetros del comando que llama a este cuadro permiten definir un mensaje en el mismo y la carpeta inicial en la que
va a posicionarse:
- BrowseForFolder(Mensaje,Carpeta inicial)
Sin embargo, ambos parmetros son opcionales y el comando
puede escribirse slo de este modo:
BrowseForFolder(,)
O bien, de este otro, en donde la carpeta inicial ser c:\
224
El comando "ColorPicker()"
no requiere parmetros y abre
directamente el cuadro de
dilogo para seleccionar un
color. El resultado son los
valores de rojo, verde y azul
que se requieren para
mostrarlo y se cargan en la
constante CBK mencionada.
En el archivo de ejemplo
"Redimensionar la ventana", que
viene en el CD-ROM, aadimos el
comando a un botn. Despus de
pulsarlo la ventana se ajusta al
tamao especificado en el
parmetro, por lo que no hay ms
secretos que develar al respecto.
227
- FileExist(Ruta,Variable numrica)
Determina si el archivo especificado en el parmetro existe
o no. Si existe, la variable numrica cobra el valor de 1, de lo
contrario queda en 0. Por lo que este comando suele usarse
con sentencias "If", para evaluar el contenido de la variable
y hacer que el programa acte en consecuencia. Observe el
siguiente cdigo:
FileExist(<ScrDir>\instalar.exe,comprobacion)
If(comprobacion=1) then
Message("El archivo existe, instlese","")
else
Message("Imposible instalar el programa","")
end
- FileString(Subcadena,variable numrica)
Este comando verifica si existe la subcadena en el contenido
de la constante <File>. Recuerde que esta constante contiene
la ruta y el nombre del archivo seleccionado con el comando
OpenFile. Si la subcadena existe, la variable numrica es igual
a 1, de lo contrario es 0.
El siguiente cdigo evala la extensin del archivo seleccionado
por el usuario, para ver si nuestro programa puede ejecutarlo o no.
230
- PlaySound(Ruta)
Cuando vimos el comando FileString() dimos una pequea
muestra del uso de PlaySound, el cual sirve para reproducir
archivos de sonido. Los formatos soportados por MMB son:
MP3, WAV, MID, MOD, OGG y WMA. El parmetro necesario es
indicar el archivo y la ruta pero, como vimos en aqul ejemplo,
podemos usar una Macro Ruta, por lo que todos estos ejemplos
son vlidos:
PlaySound(d:\sonidos\aplausos.wav)
PlaySound(<FILE>)
PlaySound(<CD>\mi programa\sonidos\entrada.mp3)
233
Si ms parmetros, el comando
abre el cuadro de dilogo para
buscar archivos de sonido con
determinados formatos.
234
MidiStop()
No quisiera insistir, pero no olvide que las rutas deben ser absolutas
durante el diseo de las aplicaciones y relativas cuando vaya a compilarlas para finalizar sus programas. Recuerde tambin que puede hacer un
visualizador de imgenes en donde sea el usuario el que elija la imagen a
abrir, usando los cuadros de dilogo con los filtros adecuados y luegos las
constantes para obtener la ruta y el nombre del archivo.
Igual que en el caso del redimensionamiento, hemos usado el comando para girar mapas de bits en el contexto de un ciclo "For-Next", para
que ste gire paulatinamente. Pero ste, como todos los ejemplos,
estn hechos para que usted los haga pedazos, se los coma, los muela
hasta convertirlos en molculas y luego los vuela a armar, para crear
sus propios programas, reinventados y mejores.
245
253
255
#
TotaldeElem
Como podr ver, este comando nos permite, por tanto, manipular al total de elementos de la lista. Vemos los que nos faltan.
- ListBoxGetSelectedItems(Etiqueta,Parmetros)
Devuelve los elementos seleccionados de la lista. Los
parmetros son iguales a los del comando anterior. Usemos la
lnea del ejemplo que ya habamos expuesto:
ListBoxGetSelectedItems("SongList","Selecs$,SelNum$,#,
TodosNum")
SongList
Selecs$
SelNum$
261
ListBoxParam("SongList","DRAG&DROP = ON")
NUMBERS=ON/OFF
ListBoxParam("SongList","NUMBERS = OFF")
TIMES=ON/OFF
ListBoxParam("SongList","TIMES = ON")
BACKGROUND=R,G,B
ListBoxParam("SongList","BACKGROUND=203,111,0")
TEXT=R,G,B
ListBoxParam("SongList","TEXT = 128,0,0")
IDTAGS=ON/OFF
ListBoxParam("ListBox","IDTAGS = OFF")
262
267
7
Qu Falta?
Ante semejante pregunta, tal vez usted, a su vez, diga: "Falta
algo? Hay todava ms? Ya parenle No?!"
Pues s, lamento decirle que an le falta conocer ms cosas
relacionadas con Multimedia Builder, aunque el bagaje con el
que ya cuenta le da para crear cosas muy interesantes. Sin
embargo, MMB tiene an poder para rato. Aqu le menciono slo
algunas de las cosas que no vimos en este libro, para que, de
estar interesado, pueda buscar informacin en la red de redes,
Internet y en, por supuesto, la ayuda del programa.
En primer lugar, debe saber que los siguientes tipos de objetos
no fueron estudiados, aunque con lo que ya conoce, su uso no
debe ofrecerle problemas:
- Macromedia Flash.
- Binding Object
- Image Matrix
- Plugins
As como los "Botones Alpha", que son un tipo especial de
botn que se hacen con otro programa de Romn Voska llamado
"Real Draw Pro".
Tambin es importante decir que en Internet podr encontrar
recursos para MMB: Programas de ejemplo, Plugins, Foros de
discusin y ayuda entre usuarios de este programa, empresas
que ofrecen sus servicios en MMB, as como tutoriales y hasta
cursos. El apndice C contiene una relacin de los sitios ms
importantes sobre el tema.
Cabe mencionar tambin que en el CD no slo encontrar el
programa y los archivos de ejemplo que hicimos para este libro,
los cuales slo ilustran los distintos temas y no son ejemplos de
proyectos profesionales, sino adems mltiples ejemplos desarrollados por terceros, los cuales se presentan tal cual los
crearon sus autores. Por lo que le sugiero que se sumerja a las
268
269
APENDICES
Apndice A
Contenido del CD
En el CD-ROM que acompaa a este libro encontrar lo
siguiente:
- Multimedia Builder.
La ltima versin, lista para instalarse.
- Los programas de ejemplo que ilustran este libro
Si los us a la par que lea el libro, entonces ya los conoce.
- Aplicaciones de ejemplo adicionales
Hemos desarrollado algunos ejemplos adicionales que tal vez
le sean de inters. Los proyectos son:
1.- Discografa de Beethoven.
2.- Un instalador de WinZip y Acrobat Reader
3.- Un men.
4.- Un reproductor personalizado de pelculas VCD
- Materiales para aplicaciones
Los materiales que podr encontrar son:
- Gif's animados
- Sonidos
- Contornos blanco y negro
- Cursores
- Plugins
- Herramientas de Software
- Otras aplicaciones como ejemplo
270
Apndice B
Recursos adicionales en Internet
Como sabe, los sitios de Internet aparecen y desaparecen
constantemente, por lo que esta lista, necesariamente esttica,
dificilmente coincidir con lo que usted pueda encontrar en la red.
Sin embargo, le ofrecemos diversos sitios donde podr obtener
informacin y recursos adicionales para usuarios de MMB.
www.mediachance.com
El sitio oficial del creador del programa. Ah podr comprarlo
y registrarse como usuario. Adems, incluye algunos archivos de
ejemplo muy atractivos y mayor informacin.
www.mmbforums.com
Foro de discusin para usuarios del programa con salas en
varios idiomas, entre ellos el espaol, tambin incluye ligas a
otros sitios con recursos y una seccin de noticias.
http://proletsoft.freeservers.com/
Qu tal? Se ve, se siente, el proletariado est presente!
http://mcbsite.webpark.pl/
Cmo anda en polaco?
http://perso.wanadoo.fr/pnx/
Y su francs?
http://www.advanced-microtechnologies.com/
Sitio profesional que ofrece desarrollo de aplicaciones y muchos, muchos recursos gratis.
271
Apndice C
La increble y triste historia de los MP3 y de sus
desalmados creadores
Como ya vimos a lo largo de este libro, la reproduccin de
archivos de msica en MP3 con MMB no tiene realmente muchas
complicaciones. Sin embargo, aunque parezca increble, el
formato MP3 est protegido por las leyes de derecho de autor y
no cualquiera puede utilizarlo.
Es paradjico que el formato que mas a servido para la difusin
ilegal de msica, tenga restricciones en su uso, pero as es.
En otras palabras, lo que queremos decir, es que si usted
quiere utilizar este formato en sus archivos de sonido, para crear
sus programas en MMB, deber pagar una licencia adicional al
momento de comprar el programa.
En el sitio de Mediachance estn a la venta dos versiones de
Multimedia Builder, una con soporte a MP3 y otro sin soporte a
MP3. La diferencia entre uno y otro es de 15 dlares. Obviamente, la versin sin soporte no le permitir aadir ese formato a sus
proyectos, pues los programas compilados no lo podrn reproducir. De hecho, si observa con cuidado, en el CD-ROM de este
libro no hay archivos MP3, pues compramos la licencia sin
soporte de este programa.
Sin embargo, esto no significa que debamos resignarnos a
crear programas mudos. Como podr corroborar en el CD-ROM
mismo, un formato alternativo al MP3, libre de regalas e incluso
superior en algunos aspectos es el "OGG", de OGG Foundation.
A partir del cambio de polticas de uso de los detentadores de
la patente de MP3, MMB di nfasis en su programa al soporte
a archivos de sonido en OGG, por lo que sus creaciones
multimedia podrn contar con msica, como debe ser.
Como la mayora de los usuarios, tal vez usted cuente con
muchos archivos MP3 que ya haba pensado usar en sus
proyectos. Por lo que el problema ahora sera convertir de MP3
a OGG. Eso no es ningn problema. En cualquier motor de
bsqueda de Internet ("Yahoo", "Google", "Altavista", "HotBot",
etctera), puede intentar con algo tan sencillo como esto:
273
274
Indice:
Importantsima nota Inicial
1.- Qu vamos a utilizar?
2.- La interfaz de pantalla de Multimedia Builder
3.- Cmo funciona?
3.1 Parmetros iniciales
3.1.1 Iniciar con un templete
3.2 Pginas
3.2.1 Agregar, Insertar y eliminar pginas
3.2.2 Organizar pginas
3.2.3 Propiedades de pginas
3.2.4 Pgina Maestra
3.3 Uso de objetos
3.3.1 Organizacin de objetos
3.3.2 Ayudas al diseo
3.4 Acciones
3.5 Generacin de CD-ROMs autoejecutables
3.5.1 Convertir texto a mapa de bits
3.5.2 Rutas relativas
3.5.3 Integracin de archivos
3.5.4 Reduccin de tamao
3.5.5 Compilacin
4.- Objetos
4.1 Texto y objetos de prrafo
4.2 Botones de texto
4.3 Objetos grficos
4.3.1 Primitivas
4.3.2 Mapas de bits
4.3.3 Gifs animados
4.3.4 Botones de mapas de bits
4.3.5 Archivos Windows Metafile
4.3.6 reas sensibles (Hot-Spots)
4.3.7 Efectos Especiales Dinmicos
4.3.8 Clones de Bitmap
4.4 Video
5.- Otros Objetos
5.1 Objetos Preprogramados
275
5
8
14
21
22
33
34
34
36
37
42
44
47
52
54
68
68
70
71
75
76
84
85
92
93
94
95
113
116
119
120
122
123
125
133
133
138
139
140
144
145
149
152
160
164
169
173
174
179
192
195
196
198
204
204
208
212
215
226
232
240
247
247
248
252
263
270
271
276
273
275