BOTONES EN FLASH

¿Qué es un botón?

Los símbolos de tipo Botón son los que aportan la mayor parte de la interactividad de las películas Flash con aquel que las está visualizando. Un botón, en Flash, es igual que un botón de cualquier entorno informático, sea web o cualquier otro.

Son elementos que se prestan a que el usuario los presione, desencadenando al hacerlo una serie de acciones. También es habitual ver cómo este tipo de elementos reaccionan cuando se les pasa el ratón por encima o cuando están pulsados.

La interfaz de Flash está diseñada de manera especial para la creación de botones, lo que nos permite crear todos estos efectos de una manera muy sencilla.

Al igual que los otros símbolos de Flash CS5, los botones tienen su propia línea de tiempo. Esta es independiente pero, sin embargo, está formada únicamente por cuatro fotogramas, uno para cada estado posible del botón:

  • Reposo. Aspecto por defecto del botón, es decir, cuando el puntero del ratón no está situado sobre él.
  • Sobre. Aspecto del botón cuando situamos el puntero sobre él.
  • Presionado. Apariencia que deseamos tenga nuestro botón mientras lo mantengamos pulsado.
  • Zona activa. Aquí debemos indicar el área real en la que queremos que actúe nuestro botón. Esto es importante sobre todo en botones compuestos sólo por texto como veremos más adelante.

Parece que la limitación de fotogramas podría implicar una limitación en la capacidad de espectacularidad y utilidad de estos símbolos, pero no es así. Ten en cuenta que podemos tener todas las capas que queramos.

Los botones pueden contener a su vez otros símbolos, como clips o gráficos (también de tipo Bitmap). La unión de las posibilidades de todos los símbolos pueden dotar a los botones de efectos asombrosos.

Todo esto es lo referente a la apariencia del botón. Después, tenemos que programar lo que queremos que haga el botón, cómo queremos que afecte a la película. Y esto lo haremos con ActionScript.

Creación de un botón

En la creación de un botón podemos considerar dos fases. En la primera vamos a convertir nuestro objeto a símbolo de tipo botón y posteriormente veremos cómo completarlo internamente, lo que nos ayudará a entender mejor dicha estructura.

Comenzamos creando el objeto que representará el aspecto por defecto de nuestro botón con las herramientas que nos ofrece Flash CS5. Recuerda que puedes usar varias capas.

Seleccionaremos el objeto y accederemos al menú InsertarConvertir en Símbolo, le daremos el Tipo Botón y asignaremos un nombre a nuestro nuevo símbolo.

De esta forma ya tenemos transformado el objeto para que se comporte como un botón. Ahora lo completaremos internamente.

Para determinar cómo debe reaccionar el botón en función de las acciones del ratón, lo editaremos haciendo clic con el botón derecho del ratón sobre nuestro nuevo botón y seleccionando la opción Editar.

Cuando tengamos delante la línea de tiempo del botón (observa que tiene el aspecto que hemos mostrado anteriormente), seleccionaremos cada uno de los frames (sobre, reposo, presionado y zona activa) y pulsaremos F6 para crear un fotograma clave en cada uno de ellos.

Ahora ya podemos modificar el aspecto inicial del botón para cada posición del cursor y marcar el área de acción del botón (fotograma Hit) en la que simplemente podremos dejar la misma figura que la inicial (en este caso sólo es importante la forma del objeto, no los colores u otras cosas) o bien dibujar con las herramientas de dibujos de Flash una nueva figura, en cuya superficie "se sentirá aludido" nuestro botón.

Videotutorial Flash
Videotutorial YouTube

Aquí podemos ver una muestra de creación de un botón lo más simple posible

Como resultado obtenemos el botón que continuación mostramos.

Éste es un botón muy básico, pero como veremos se pueden complicar mucho. Para empezar nos servirá con éste. Observa como cambian los estados de reposo (rojo pálido), sobre (rojo) y pulsado (azul).

Si una vez creado el botón queremos observar sus distintos estados y todavía no hemos terminado la película entera y por tanto no deseamos tener que reproducirla toda podemos hacerlo a través del menú ControlHabilitar botones simples. Así podremos interactuar con el botón hasta que desactivemos esta opción.

Formas en los botones

Los botones son símbolos que pueden tener multitud de formas. Si bien lo más habitual es ver botones rectangulares, cuadrados y circulares, cuya creación es inmediata como vimos en el punto anterior, también hay otros muchos tipos de botones que, pese a ser menos utilizados, es muy habitual verlos en multitud de páginas web.

Entre estos están los creados mediante formas poligonales, aquellos que están formados por texto únicamente, dibujos con diferentes motivos, etc. Es interesante su uso para dar más vistosidad ya que algunos resultan más expresivos, y en esto Flash nos ayuda mucho, debido a la relativa sencillez de creación de botones que sus herramientas de dibujo nos ofrece.

Hay varias formas de botón también muy extendidas, como el botón con relieve sencillo o los botones en forma de píldora. Puesto que existen muchas formas de conseguir estos efectos, a continuación tienes un ejercicio paso a paso que muestra una forma de conseguir el relieve en un botón rectangular.

Incluir un clip en un botón

La inclusión de clips de película en los botones puede dotar a éstos de más vistosidad.

Es habitual colocar un clip en el fotograma Sobre para indicar algún tipo de información extra o una animación para ir más allá de un cambio de color.

También es común ver un clip de película actuando como un botón. Esto caso se puede hacer por ejemplo poniendo el clip en el fotograma Reposo.

Veamos por ejemplo el botón siguiente:

Comprueba todos los estados del ratón. Por lo que nos dice el botón podemos intuir que empieza algo, pero quizá no tengamos claro qué. Ayudaría a la navegación que al ponernos sobre el cursor, el texto cambie para darnos información extra. Por ejemplo:

Lo único que hemos cambiado es que tenemos el texto como un movie clip, en cuando el cursor está encima, lo cambiamos por otro con la información.

O podemos usar los clips para animar elementos dle botón, como en el siguiente ejemplo:

Incluir un Clip en un botón es muy sencillo. Tomando este ejemplo, y partiendo de que tenemos los dos textos como clips en la biblioteca, sólo tendremos que:

- Hacer doble clic sobre el botón para entrar en su modo de edición.

- Seleccionamos el estado Sobre para modificarlo. Selecciona la instancia del texto.

Ahora tenemos dos opciones:

- Pulsa la tecla SUPRIMIR para eliminarlo.

- Desde la Biblioteca (menú VentanaBiblioteca) arrastramos el clip con el nuevo texto, para crear una instancia.

O la opción más práctica:

- En las propiedades de la instancia, pulsamos Intercambiar... y elegimos el nuevo objeto de texto.

- Por último, centramos el nuevo texto en el botón, si es necesario.

Ya esta listo, ahora cuando pases el ratón sobre el botón el clip de película empezará a reproducirse.

Por supuesto, en vez de cambiar el texto podemos añadir otros clips, que simulen movimientos, reflejos, etc.

Videotutorial Flash
Videotutorial YouTube

En este video tutorial puedes ver cómo insertar un clip en un botón.

Bitmaps y botones

Además de clips, los botones también pueden contener símbolos de tipo Gráfico.

Puesto que, como ya hemos visto, todo lo que se puede hacer con un gráfico se puede hacer con un clip, vamos a centrarnos en los Bitmaps que Flash nos permite importar, ya que están muy extendidos como forma de expresión gráfica a lo largo y ancho de la Red.

Si consideramos las limitaciones que ya conocemos sobre los mapas de bits puede parecer poco interesante hacer uso de ellos en la creación de botones, pero no es así.

Básicamente podemos hacer dos cosas:

1) Incluir en cada uno de los fotogramas del botón un bitmap distinto, obteniendo un efecto como el que se consigue con lenguajes como javascript o CSS.

2) Aprovechar las propiedades de los Gráficos en Flash. Para esto, deberíamos importar primero el Bitmap y después convertirlo a símbolo botón. Posteriormente lo editaríamos y, después de insertar cada fotograma clave, convertiríamos su contenido a símbolo Gráfico. Una vez hecho esto, variando los efectos de las instancias en Flash (Alfa, Tinta, Brillo) podremos conseguir efectos bastante buenos.

He aquí una pequeña muestra en la que sólo hemos utilizado un Bitmap de tipo GIF, sacado de la Red y lo hemos convertido en un botón gráfico aplicándole un efecto Alfa (Transparencia) al estado de reposo, lo que da la sensación de estar apagado (también podríamos haber aplicado brillo). En el fotograma Sobre hemos dejado el GIF original para que al pasar sobre el botón de la sensación de encenderse. Finalmente le hemos aumentado la cantidad de rojo en el fotograma Presionado para que parezca estar incandescente.

Acciones en los botones

Puesto que existen multitud de acciones que se pueden aplicar tanto a los botones, como a otros elementos de Flash CS5 vamos a comentar dos de las más comunes.

Nota: Al crear un archivo, habrás visto que podemos elegir distintas versiones de ActionScript (3.0 o 2.0). Esto se refiere al lenguaje de programación que podemos empelar en Flash y que lo convierte en una herramienta realmente potente. En las versiones 1 y 2, se podían agregar comportamientos directamente en las propiedades de los botones. Pero nosotros venimos empleando las versión 3.0 a lo largo del curso, por ser la más actual y potente. Esta versión nos obliga a escribir el código ActionScript. Veremos cosas básicas, y entraremos un poco más en ActionScript a partir del tema 16.

Comenzamos por crear o añadir nuestro botón, y asignarle un nombre de instancia. El nombre que le demos es muy importante, porque nos permitirá acceder a él desde el código.

Aunque podemos escribir el código en la misma capa, recomendamos crear una capa exclusivamente para el código, por tenerlo todo mejor organizado.

Ahora, abrimos en el panel Acciones (menú VentanaAcciones). Se mostrará un área en blanco en la que podemos escribir:

Panel acciones

Este panel, en el área blanca de la derecha, nos permite escribir o editar acciones directamente. De momento no profundizaremos en esto, y ta lo haremos en el tema correspondiente.

También encontramos la ventana Fragmentos de código. Desde ella, podemos generar breves instrucciones de código para el símbolo seleccionado, lo que la mayoría de veces nos facilitará la tarea, ya que se trata de las opciones más repetidas.

Sin entrar en detalle de qué es cada palabra, pues esto ya lo veremos, este es el aspecto general del código asociado a un botón:

1

2

3

4

5

6

miBoton.addEventListener(MouseEvent.CLICK, accionesMiBoton);

function accionesMiBoton(event:MouseEvent):void

{
    //acciones
}

Donde miBoton será el nombre de la instancia del botón.

A esta instancia, le indicamos que queremos que reaccione al clic del ratón (MouseEvent.CLICK), ejecutando las acciones llamadasaccionesMiBoton (podemos darle el nombre que queremos).

accionesMiBoton contiene las acciones a realizar, y podemos verlo a continuación. Solo habría que cambiar el texto //acciones por las acciones a realizar.

Si tenemos varios botones, a cada uno lo referiremos por su nombre de instancia que es único. También tenemos que dar un nombre único a accionesMiBoton para cada uno, a no ser que queramos que realicen la misma acción.

Ahora veamos algunas de las acciones más comunes.

1) Abrir una página web. Con esto conseguiremos abrir una página cualquiera de internet (o una película Flash), lo que nos servirá para irnos desplazando por webs que contengan más de una página, o permitir al usuario descargarse archivos entre otras cosas.

La forma más sencilla de hacerlo es seleccionar el botón que queramos usar (en el siguiente ejemplo, hemos llamado a la instanciabtnVisitarAulaclic) y buscar la acción que queremos en el panel Fragmentos de código. En la carpeta Acciones hacemos doble clic sobre Hacer clic para ir a página Web. Se generará un código como el siguiente:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/* Hacer clic para ir a página Web
Al hacer clic en la instancia del símbolo especificado, la dirección URL se carga en una nueva ventana del navegador.

Instrucciones:
1. Reemplace http://www.adobe.com por la dirección URL que desee.
   Conserve las comillas ("").
*/

btnVisitarAulaclic.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage);

function fl_ClickToGoToWebPage(event:MouseEvent):void

{

navigateToURL(new URLRequest("http://www.adobe.com"), "_blank");

}

Lo primero que encontramos en el código generado son comentarios. Este código, normalmente en gris claro, no se ejecuta como tal, y solo sirve para indicar cosas al usuario. En este caso, nos da explicaciones de cómo usar el código generado.

Lo único que hemos de hacer es reemplazar la url de ejemplo (www.adobe.com) por la de la página a la que queramos que nos envíe el botón.

La instrucción en ActionScript que nos permite hacerlo es navigateToURL(new URLRequest("http://www.mipagina.es"), "_blank");. "http://www.mipagina.es" se refiere a la página que queremos abrir, y "_blank" indica que se abrirá en una página nueva.

Controlar una película en curso. Si estamos reproduciendo una película Flash y queremos permitir que el usuario la detenga, la ponga en marcha, avance, retroceda...

Para ello podemos emplear las acciones:

  • stop(); para detener.
  • play(); para reproducir.
  • gotoAndPlay(numeroFotograma); para ir a un fotograma determinado.

Por ejemplo, podemos tener el botón btnPausar para parar la película y el botón btnContinuar para reproducir. Nos será más cómodo si usamos el panel Fragmentos de código para generar el evento Clic del botón (carpeta Controladores de eventosevento MouseClick). En el código generado, reemplazamos el código personalizado por nuestras funciones:

1

2

3

4

5

6

7

8

9

10

11

btnPausar.addEventListener(MouseEvent.CLICK, fl_PausarReproduccion);

function fl_PausarReproduccion(event:MouseEvent):void

{
    stop();
}

btnContinuar.addEventListener(MouseEvent.CLICK, fl_ContinuarReproduccion);

function fl_ContinuarReproduccion(event:MouseEvent):void

{
    play();
}

Tal cual lo hemos puesto, afectaría a la película principal. Si lo que queremos parar o reproducir es un clip determinado, habría que escribirlo delante de la acción, separado por un punto. Por ejemplo miClip.stop();.

Reconocemos que aunque ActionScript 3.0 es más potente que la versión 2.0, puede resultar mas liosa para usuarios sin conocimientos previos. Si quieres ver cómo serían estos mismos ejemplos en ActionScript 2, te invitamos a echar un vistazo a esta página de nuestrocurso de Flash CS3.

Videotutorial Flash
Videotutorial YouTube

En este videotutorial de introducción a ActionScript 3 puedes ver cómo empezar a poner código en un botón.

11.7. Incluir sonido en un botón

Si nuestras páginas van a tener sonido, el sonido en los botones es una parte fundamental. Podemos hacer, por ejemplo que se activen sonidos al pulsar un botón.

Para ello, simplemente debemos editar nuestro botón y seleccionar el fotograma Presionado, e insertar el sonido. Como vimos en el tema correspondiente. Es este caso, el tipo de sincronización más conveniente suele ser Evento.