Fundamentos de AS3: Destripando la clase documento y su constructor. El punto de entrada a un programa

Process-FlowchartToda historia necesita un buen comienzo. Los programas no son precisamente historias pero necesitan un punto por el que empezar a ejecutarse. A este punto se le suele llamar punto de entrada al programa y se corresponde con el lugar de nuestro código fuente en el que escribimos las primeras instrucciones que queremos que se ejecuten. Cada lenguaje tiene su mecanismo particular, pero en los orientados a objetos todos siguen la misma filosofía.

Volver al Índice

En todos los programas existe una clase principal o clase documento que sirve para crear el, llamémosle, objeto principal. La responsabilidad que tiene ese objeto principal es crear y configurar los demás objetos de la aplicación.

La clase documento es especial por dos motivos:

  1. Se instancia automáticamente:
    Con el resto de las clases, es el programador el que tiene que llamar al constructor de la clase para crear una instancia. Por ejemplo:

    		new Pelota();

    El constructor de la clase documento se ejecuta automáticamente cuando se ejecuta el programa compilado. Es como si el compilador escribiera ese código por nosotros.

  2. La mayoría de las clases se escriben pensando en que se van crear varios objetos a partir de ellas.
    Sólo se crea un objeto de la clase principal. No puede haber más, y si el lenguaje permite crear más, no debemos hacerlo. Recuerda que su responsabilidad es crear y configurar los objetos de la aplicación, si la instanciamos dos veces, estaríamos creando dos copias de la aplicación que podrían interferir entre y sí que, además, ocupan el doble de memoria de la necesaria.

Por lo demás, es exactamente igual que cualquier otra clase. Puede tener propiedades y métodos definidos por nosotros y puede emitir y escuchar eventos.

Eso sí, debemos asegurarnos de que el constructor contenga todas las instrucciones necesarias para que se creen e inicialicen todos los objetos necesarios para que nuestra aplicación funcione.

Veamos un ejemplo en AS3. Vamos a utilizar la clase documento que hemos creado en AS3 Paso a paso: Crear clases de AS3 a partir de un símbolo de la biblioteca.
Si no recuerdas los pasos a seguir para crear una clase documento, échale un vistazo a AS3 Paso a paso: La clase documento en Flash

package  
{
	import flash.display.MovieClip;
	
	public class Main extends MovieClip 
	{
		public function Main() 
		{
			var miPelota:Pelota = new Pelota();
			addChild(miPelota);
			miPelota.x = 100;
			miPelota.y = 175;
		}
	}
}

En este pequeño programa estamos añadiendo una pelota roja a la pantalla y colocándola en las coordenadas x = 100, y = 175

Volviendo al código, como ves, hemos llamado Main a esta clase. Su único método, que empieza en la línea 7, se llama Main también. Es el método constructor (lo sabemos porque se llama igual que ésta) de la clase documento.

Al principio vamos a estar añadiendo, casi exclusivamente, el código dentro del constructor de dicha clase.
Esto no es lo normal en aplicaciones reales, pero para empezar conviene no complicarse demasiado.

Para que esta clase sea la clase documento de un proyecto de Flash hace falta asociarla con un documento de Flash. Para ello, basta con escribir el nombre de esta clase (Main) en el campo Class de las propiedades del documento de Flash, como se explica en AS3 Paso a paso: La clase documento en Flash.

Comprobémos que todo está correcto y compilemos. Asegurate de que tanto el documento de Flash como la clase documento están guardados y pulsa Ctrl + Enter. Cuando Flash termina de compilar el programa, ejecuta una previsualización del mismo abriendo una ventana como esta:
03a3 Fundamentos_Destripando la clase documento_02
De acuerdo, no es gran cosa, pero recuerda que sólo estamos empezando.

Esto es todo lo que tienes que saber sobre la clase documento de momento, pero como este es tu primer programa en AS3 vamos a destriparlo línea por línea en la página siguiente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *