viernes, 18 de mayo de 2012

Programando IX – ActionScript 3: Botones

Al igual que ocurría con los MovieClips, los botones son un tipo especial en ActionScript. Estan diseñados para tener 4 fotogramas que representarán las posiciones inactivo, con el ratón encima, haciendo click sobre él y levantando el boton despues de hacer click. De esta forma podemos dar un aspecto diferente a nuestro botón dependiendo de la acción del usuario, haciendolo mucho más dinámico.

De nuevo, los botones se crean instanciando objetos de su clase. Por ejemplo si hemos hecho en Flash un boton llamado myBoton, necesitaremos el siguiente código:

var boton:myBoton = new Boton(); 

Veamos un programa ejemplo:

import flash.events.MouseEvent; 

// vamos a crear un boton, aunque de momento sin animación 
var boton:Nave_Button = new Nave_Button(); 

boton.x=280; 
boton.y=310; 
addChild(boton); 

// Ahora necesitamos que se "escuche" buscando clicks sobre el boton 

boton.addEventListener(MouseEvent.CLICK, escuchaBoton); 

// Al pulsarse el boton se llama a la funcion function escucha

Boton(event:MouseEvent){ 
    trace("Has hecho click en la nave!"); 


La salida de este programa es:


Podemos comprobar como al hacer click al boton aparece un mensaje de texto. Esto se consigue creando el boton, dandole una posición x de 280, una y de 310 y, por último, añadiendolo a la pantalla con addChild. Sin embargo, necesitaremos un “evenListener”, que viene a ser un fragmento de código que hace que nuestro boton esté atento a si ocurre un evento de tipo ratón (en este caso es un click) y que si esto sucede, llame a la función escuchaBoton (creada  por nosotros mismos, no es propia de AS), en la cual imprimiremos un mensaje. Es el último trozo de código (Lo repito):

boton.addEventListener(MouseEvent.CLICK, escuchaBoton); // Al pulsarse el boton se llama a la funcion 

function escuchaBoton(event:MouseEvent){ 
    trace("Has hecho click en la nave!"); 


Así, podemos hacer que el botón reaccione al ratón y realizar las opciones que queramos como respuesta. Este evento-acción es muy importante en Flash, en el mundo de los videojuegos y el desarrollo de aplicaciones. Ocurre algo y, como consecuencia de ese algo, se da una respuesta al usuario. Por ejemplo pulsar un botón y abrir un menu, o pulsar una tecla y que nuestro protagonista salte.

Pronto más y algunas aclaraciones sobre la Programación Orientada a Objetos.

Y de momento un ejemplo de lo que se puede hacer con los conocimientos vistos hasta ahora, una calculadora sencilla (con muchas limítaciones). Como vemos, tiene botones que reaccionan a clicks del ratón y llama a funciones que escriben en la pantalla y realizan las operaciones. Tiene condicionales, variables, imprime y pone objetos en pantalla... ¡Todo lo que hemos aprendido!

Aunque no voy a explicar paso a paso como se hace por que sería largo (y el código no esta muy organizado), seguro que más de uno puede imaginar como hacer un juego donde solo haya botones, texto y algunas imágenes. Si no lo veís, pronto haremos alguno. :P

No hay comentarios:

Publicar un comentario