Unidad 22. Ejercicio: Crear una clase en ActionScript (I)



Objetivo

Vamos a crear la siguiente animación Flash:

Ejercicio

  1. Abre el archivo bolas.fla que encontrarás en la carpeta ejercicios\bolas\.
  2. Vamos a exportar el símbolo de la bola para AS. En la biblioteca, haz clic derecho sobre el símbolo bola y elige Propiedades.
  3. Marca la opción Exportar para ActionScript, y en el nombre de la Clase asígnale ClaseBola.
  4. Vamos a añadir bolas con el botón btn_agregar_bolas. Las mostramos utilizando un contenedor. Escribe el siguiente código en el primer fotograma, en el panel Acciones:
    var miContenedor:Sprite = new Sprite;//Aquí mostraremos las bolas
    addChild(miContenedor); // Lo agregamos a  la escena
    
    btn_agregar_bola.addEventListener(MouseEvent.CLICK, agregarBola);
    function agregarBola(event):void {//Función que añade bolas
    	var bola:ClaseBola = new ClaseBola(); //Creamos un nuevo objeto ClaseBola
    	miContenedor.addChild(bola); //Y lo agregamos al contenedor
    }
    Puedes probar el código. Comprobarás que se agregan bolas, pero siempre en la esquina superior izquierda.
  5. Vamos a añadir funcionalidad a la clase de las bolas. En el menú Archivo, pulsa en Nuevo y elige Clase ActionScript 3.0. Pulsa Aceptar.
  6. Nos pedirá que le demos un nombre a la clase, que tendrá que ser CaseBola, el nombre de clase que le dimos a nuestro símbolo. Al aceptarlo, se creará un código como el siguiente:
    package  {
    	
    	public class ClaseBola {
    
    		public function ClaseBola() {
    			// constructor code
    		}
    
    	}
    	
    }
  7. De momento, esta clase no tiene ningún método ni propiedad, podemos decir que no hace nada. No vamos a crear la clase desde la anda. Para empezar lo que queremos hacer es añadir funcionalidades a la clase MovieClip, pero tener también sus clases y métodos. Esto lo conseguimos haciendo que nuestra clase extienda (o amplíe) a la clase predefinida de ActionScript MovieClip. Modifica el código para que quede así:
    package  {
    	//Aquí importaremos lo que nos haga falta
    	import flash.display.MovieClip;
    	public class ClaseBola extends flash.display.MovieClip {
    
    		public function ClaseBola() {
    			// constructor code
    		}
    
    	}
    	
    }
    Observa que hemos dado a la clase el mismo nombre (ClaseBola) que indicamos al exportar el símbolo a AS. Además hemos indicado que la nueva clase extenderá (extends) a la clase MovieClip. Esto quiere decir que nuestra clase tendrá todos los métodos y propiedades de los MovieClip, además de los que nosotros creemos. Como emplearemos la clase MovieClip, debemos de importarla.
  8. Guarda el archivo como ClaseBola.as, en la misma carpeta que el archivo .fla. Es muy importante guardarlo con el nombre de la clase.
    Ahora, podrías volver a probar la película, pero no verás cambios. Como aún no hemos definido métodos propios, nuestra case hace lo mismo que la clase a la que extiende.

Contunúa en la página siguiente...



   Inicio  Adelante




.