viernes, 15 de marzo de 2013

Práctica 15 - Acciones en los botones

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.
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ú Ventana Acciones). Se mostrará un área en blanco en la que podemos escribir:


Este panel, en el área blanca de la derecha, nos permite escribir o editar acciones directamente.
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.

Este es el aspecto general del código asociado a un botón:
 
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 llamadas accionesMiBoton (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.
 
Acciones más comunes
 
* 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 instancia btnVisitarAulaclic) 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:

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 eventos evento MouseClick). En el código generado, reemplazamos el código personalizado por nuestras funciones:
 
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();.

No hay comentarios:

Publicar un comentario