Вы находитесь на странице: 1из 7

Crear y colocar los elementos

Lo primero que haremos es crear y colocar los diferentes elementos que vamos a
necesitar, en nuestra pantalla. Como en otras ocasiones, dividiremos en capas los
elementos para tenerlos ordenados. Como son pocos, en este caso, tendremos una capa
para los botones y textos, una capa para las acciones y otra para los fondos.
En la capa objetos, insertaremos los elementos necesarios.
Explico brevemente cada grupo siguiendo la imagen superior, (las lneas verdes no
aparecen en el archivo flash, y m!s adelante indicaremos las funciones de cada bot"n.
#res botones. Cada uno de ellos cargar! un sonido. $unque podramos hacer que el
sonido se cargase con una s"la funci"n, para facilitar la compresi"n, he duplicado los
c"digos en los tres botones.
%os botones. &lay'(top. Controlan la reproducci"n del sonido actual.
)olumen. %os botones, uno para aumentar y otro para reducir. *n campo de texto de
tipo Dinmico con nombre de variable Var+ vol.
#iempo. *na campo de texto de Introduccin, con nombre de variable Var+
tiempo,v, para poder indicar un segundo concreto del sonido y un bot"n para ir a ese
segundo concreto.
%os campos de texto de tipo Dinmico, con nombres de variable Var+ duracion y
total. En el campo duraci"n almacenaremos los segundos que lleva el sonido y en el
campo total, los segundos totales.
%os botones, para desviar el sonido hacia el altavo- i-quierdo o derecho.
.mportando $udios
Flash permite importar los siguientes formatos de audio:
/$) (s"lo en /indo0s
$.11 (s"lo en 2acintosh
2&3 (/indo0s o 2acintosh
(i tienes 4uic5#ime 6 o posterior instalado en tu sistema podr!s importar los siguientes
formatos+
$.11 (/indo0s o 2acintosh
(ound %esigner .. (s"lo en 2acintosh
&elculas 4uic5#ime s"lo sonido (/indo0s o 2acintosh
(un $* (/indo0s o 2acintosh
(onidos (ystem 7 (s"lo en 2acintosh
/$) (/indo0s o 2acintosh
&ara importar un sonido, seleccionaremos el men8 $rchivo, la opci"n
.mportar'.mportar a biblioteca. $l hacerlo, nos mostrar! una ventana de sistema en la
cual podremos seleccionar el archivo. *na ve- seleccionado, este archivo se coloca en
la biblioteca.
Cuando tenemos todos los archivos de audio
ubicados en la bibloteca, tenemos que
vincularlos a un objeto . 2ediante este
proceso, lo que hacemos es identificar los
sonidos de biblioteca como objetos que
vamos a utili-ar. Estos objetos de audio se
cargar!n con nuestra pelcula, en el primero
fotograma, y estar!n presentes para que los
llamemos cuando queramos.
&ara vincular un sonido a un objeto
(identificarlo, seleccionamos el sonido en la
ventana biblioteca y con el bot"n derecho
(0indo0s o pulsando en el sonido 9
2an-ana (macintosh, nos aparecer! un men8
con opciones de biblioteca, entre las cuales
escogeremos Vinculacin...
Cuando vinculamos un objeto de biblioteca, aparece una ventana d"nde debemos
indicar el nombre del objeto (casilla identificador y marcar las opciones Eportar
para !ction"cript y Eportar en primer fotograma. Con esto, el sonido, con nombre
sonido:, por ejemplo, estar! disponible para utili-arlo desde el primer fotograma de
nuestra pelcula.
;aremos esta operaci"n con los tres sonidos que hemos importado+ los vincularemos y
los denominaremos sonido:, sonido<, sonido3 respectivamente.

.nsertamos la programaci"n
Con todos los elementos (botones y textos colocados en su sitio y los archivos de audio
importados y vinculados, ya podemos comen-ar a programar la interacci"n.
En el fotograma :, de la capa $cciones, insertaremos el siguiente c"digo+
s: = ne0 (ound(>
s:.attach(ound(?sonido:?>
''
s< = ne0 (ound(>
s<.attach(ound(?sonido<?>
''
s3 = ne0 (ound(>
s3.attach(ound(?sonido3?>
''
var sonido,actual = ?s:?>
var tiempo,actual = :>
var ejecutando = @>
''
tiempo.restrict = ?@AB?>
''
this.onEnter1rame = function( C
if (ejecutando == : C
total = 2ath.floor(eval(sonido,actual.duration':@@@>
duracion = 2ath.floor(eval(sonido,actual.position':@@@>
D
D
Los tres primeros p!rrafos se utili-an para asociar los objetos de biblioteca a objetos
din!micos de flash.
La estructura es+
nombre objeto,din!mico=ne0 "ound(>
objeto,din!mico.attach"ound(?objeto de biblioteca?>
Luego definimos tres variables, sonido,actual, tiempo,actual y ejecutando.
var sonido#actual = ?s:?>
var tiempo#actual = :>
var ejecutando = @>
(onido,actual almacenar! el valor del audio que estE sonando en ese momento (s:, s< o
s3. $l comen-ar, indicamos que el sonido,actual es s:.
#iempo,actual almacena el tiempo transcurrido hasta este momento, en el audio. Lo
iniciali-amos a :, para evitar un error en la divisi"n que veremos m!s adelante.
Ejecutando, almacenar! dos valores, : o @. : significar! que hay un sonido
reproduciEndose, @ significar! que no hay ning8n sonido reproduciEndose.
La siguiente lnea+
tiempo.restrict = ?@AB?>
Limita los caracteres que podemos introducir en la casilla de tiempo. Con la funci"n
restrict, limitamos dicha casilla a caracteres numEricos, bloqueando la inserci"n de otros
caracteres.
&or 8ltimo, est! la funci"n que controla el tiempo que lleva reproduciEndose el audio+
this.onEnter1rame = function( C
if (ejecutando == : C
total = 2ath.floor(eval(sonido,actual.duration':@@@>
duracion = 2ath.floor(eval(sonido,actual.position':@@@>
D
D
Esta funci"n se ejecuta continuamente, y controla un valor, ejecutando. (i ejecutando
tiene valor :, un sonido se est! reproduciendo. (i esto es as, hacemos que las casillas de
texto total y duraci"n reciban valores.
total, calcula la duraci"n del audio que est! sonando. &ara ello, coge el valor .duration,
que nos devuelve el tiempo total en milisegundos de un sonido.
duracion, calcula el tiempo transcurrido del audio que se est! reproduciendo. &ara ello,
coge el valor .position, que nos devuelve el tiempo transcurrido en milisegundos de un
sonido.
!cciones de los tres botones $ue cargan audios %Ver imagen superior&
on (press C
stop$ll(ounds(>
sonido,actual=?s:?>
s:.start(>
s:.set)olume(vol>
ejecutando=:>
D
Este es el c"digo del bot"n :, el resto de botones son iguales, pero cambia el s: por s< o
por s3, seg8n el sonido a reproducir.
(top$ll(ounds(> &ara todos los sonidos actuales. %e esta manera evitamos que haya un
efecto eco. Es una soluci"n ?drastica? y poco eficiente en programaci"n. Lo l"gico sera
conocer cuales sonidos se est!n reproduciendo y parar dichos sonidos.
sonido,actual=?s:?> de esta manera sabemos cual es el sonido que hemos seleccionado.
s:.start(> comen-amos a reproducir el sonido.
s:.set)olume(vol> Colocamos el volumen del sonido al valor que se haya introducido
en la casilla vol.
ejecutando=:> .ndicamos a nuestra aplicaci"n, que hay un sonido ejecut!ndose.
'lay ( "top %Ver imagen superior&
on (press C
stop$ll(ounds(>
eval(sonido,actual.start(duracion>
eval(sonido,actual.set)olume(vol>
ejecutando=:>
D
El bot"n de play, controla el sonido que est! reproduciendose actualmente
eval(sonido,actual y lo comien-a en el valor de duracion, un valor que como hemos
visto antes, almacenar! el tiempo transcurrido hasta el momento.
%e esta manera si paramos una reproducci"n, podremos volver a retomarla en el
segundo que la dejamos.
"top
on (press C
eval(sonido,actual.stop(>
ejecutando=@>
D
El bot"n de stop, para el sonido actual eval(sonido,actual.stop( y define la variable de
reproducci"n a @, de manera que el sistema sabe que no hay ning8n sonido
ejecut!ndose.
Volumen %Ver imagen superior&
El grupo de volumen, tiene dos botoens, para aumentar el volumen y para reducirlo.
El bot"n para reducir de volumen+
on (press C
if (volF=:@
C
vol = Gumber(volA:@>
eval(sonido,actual.set)olume(vol>
D
D
Comprueba que nuestro volumen sea mayor o igual a :@. (i cumple esta propiedad,
resta :@ a vol. y establece el volumen del sonido .set)olume al valor que ha calculado
(despuEs de restarle :@
El bot"n para aumentar de volumen+
on (press C
if (volH=B@
C
vol = Gumber(vol9:@>
eval(sonido,actual.set)olume(vol>
D
D
Comprueba que nuestro volumen es menor o igual a B@. (i cumple esta propiedad, suma
:@ a vol. y establece el volumen del sonido .set)olume al valor que ha calculado
(despuEs de sumarle :@
)iempo %Ver imagen superior&
El grupo de tiempo, tiene un campo de texto llamado tiempo,v d"nde podemos insertar
el valor que queramos y un bot"n con la siguiente acci"n.
on (press C
stop$ll(ounds(>
eval(sonido,actual.start(tiempo,v>
eval(sonido,actual.set)olume(vol>
ejecutando = :>
D
&ara todos los sonidos, empie-a el sonido actual en el tiempo definido en tiempo,v,
coloca el volumen seg8n lo que estE escrito en la casilla vol y le indica al sistema que
hay un sonido ejecut!ndose.
Variables %Ver imagen superior&
%os campos de texto que almacenan los segundos totales del sonido actual y la cantidad
de segundos reproducidos, seg8n la funci"n de fotograma
!ltavoces %Ver imagen superior&
Con estos botones, controlamos los altavoces. *n bot"n nos desvia el audio al altav"-
derecho y otro al altav"- i-quierdo.
.-quierdo.
on (press C
if (eval(sonido,actual.get&an(FA:@@
C
eval(sonido,actual.set&an(eval(sonido,actual.get&an(A:@>
D
D
%erecho
on (press C
if (eval(sonido,actual.get&an(H:@@
C
eval(sonido,actual.set&an(eval(sonido,actual.get&an(9:@>
D
D
La funci"n .set&an define d"nde se desva el audio.
*n pan de A:@@ significa que todo el audio se escucha con el altavo- i-quierdo y un pan
de :@@ significa que se escucha por el derecho. *n pan de @, indica que el sonido se
reproduce por igual por ambos altavoces.
I ya est!...
Este ejercicio ha resultado m!s largo de lo que me hubiera gustado, pero el objeto
sonido, su complejidad e implicaciones, lo mereca.
El pr"ximo ejercicio, se centrar! en hacer animaciones sencillas no con programaci"n,
sino a travEs de lnea de tiempo.
&equeJos movimientos, "rbitas, y efectos sencillos pero efectivos para nuestras
animaciones.

Вам также может понравиться