1.II.La clase del Documento

Esta entrada pertenece a ActionScript 3 - Guía para Principiantes.


La clase del Documento


¿Qué es la clase del Documento?

Una política que vamos a seguir durante toda esta guía será que siempre que podamos controlar cualquier funcionalidad u objeto desde ActionScript (aunque pudiera realizarse desde Flash de manera más sencilla) lo controlaremos con ActionScript. En algunas ocasiones quizá pueda resultar rebuscado, pero veremos que, a la larga, será mucho más beneficioso.


Y para empezar a aplicar esta política vamos a crear la clase del Documento.


Resultará contradictorio para el lector novel, pero "la clase del Documento" en verdad tiene poco que ver con el concepto de clase de la Programación Orientada a Objetos, que explicaremos más adelante.


Para simplificar (y porque de momento no necesitas saberlo) vamos a considerar a la clase del Documento como el archivo ActionScript en el que inicilizaremos todas los componentes de nuestro juego.


Creando la clase del documento

Como hemos dicho, la clase del documento es un archivo de ActionScript, así que eso es lo que necesitamos.


Con el proyecto Pong que creamos en FlashDevelop abierto, click derecho en la raíz del proyecto, Pong (AS3) -> Add... -> New Class. Llamaremos a la clase Main.as. Aceptamos ¡y ya tenemos nuestra clase Main! Sin saber ActionScript ni nada... El código que obtenemos es el siguiente:


package 
{

/**
* ...
* @author ASL
*/
public class Main
{

public function Main()
{
// Aquí, el código de inicialización
}

}

}

En @author aparecerá el nombre que especificaste al instalar FlashDevelop. El "// Aquí, el código de inicialización" es un comentario.


Comentarios

Los comentarios son texto que no se tendrán en cuenta a la hora de ejecutar nuestra aplicación. Sirven para explicar código y hacer anotaciones. En ActionScript (y en Java, y en C, y en C++, y en otros lenguajes...) se pueden realizar comentarios de dos maneras:


a) Comentarios en única línea:


// Comentario en una línea

b) Comentarios en varias líneas:


/* Comentario en
varias líneas */

Va a ser mucha la sintaxis ("cómo se escriben las cosas") que va a aparecer, y puede que al cabo del tiempo hayas olvidado la mitad. Cuándo aprendo un lenguaje nuevo, suelo ir anotando en una lista, en papel, toda la sintaxis que voy aprendiendo, para que luego sea más rápido consultar cualquier duda. Te recomiendo que lo hagas, porque también te será útil cuándo, después de un tiempo sin utilizar un lenguaje, quieras volver a retomarlo.


Bien, volviendo a nuestra clase Main: De momento no nos interesa saber todos los pormenores de su sintaxis, sólo que function Main es una función (una serie de órdenes que se ejecutarán al iniciar nuestro Flash) y que únicamente hay que sustituir "// Aquí, el código de inicialización" por el código ActionScript que queramos que se ejecute.


Para empezar, vamos borrar el comentario y lo vamos a sustituir por:


trace("Pong");

trace es una función que recibe una variable y la imprime por la consola Flash. En este caso, le enviamos un String (una serie de caracteres entrecomillados). Puede ser muy útil a la hora de depurar nuestro código (ver dónde y por qué está fallando).


Apuntamos trace en nuestra lista de funciones importantes, y guardamos Main.as.


Otro detalle importante es añadir "import flash.display.MovieClip;" y "extends MovieClip" al código como sigue:


package
{
import flash.display.MovieClip;

/**
* ...
* @author ASL
*/
public class Main extends MovieClip
{

public function Main()
{
trace("Pong");
}

}

}

De momento, siguen si preocuparnos el por qué de esto. Ya hablaremos de ello más adelante.


Conectando nuestro Flash con Main.as

Ahora, ¿qué tenemos? Un archivo Main.as y un archivo pong.fla, que sí, están en la misma carpeta, pero que no guardan ninguna otra relación. ¿Cómo le decimos a pong.fla que Main.as es la clase de su documento?


En Flash, clickamos en el documento (el rectangulito blanco, el lienzo) y nos aparecerán sus propiedades en la ventana Propiedades (haz click en el menú Ventana -> Propiedades o pulsa Ctrl+F3 si no la encuentras). Y en el apartado Publicar, en el campo Clase escribimos Main, el nombre de nuestra clase para el documento. Así haremos referencia al archivo Main.as.



Y ahora previsualizamos la película (menú Control -> Probar película o Ctrl+Enter). ¿Ya la has probado? ¿No hay nada? Pulsa F2 para ver la consola de salida de Flash. ¡Sí, pone Pong! La función trace lo puso ahí. Vale, venga, no es gran cosa. Pero hay que tener paciencia. Ya hemos logrado conectar Main.as con pong.fla, paso clave para continuar con el desarrollo de nuestro juego.


Para no dejar con mal sabor de boca al lector al final de este capítulo, y para comprobar que realmente podemos manejar Flash a nuestro antojo desde ActionScript, y no sólo la consola de salida, vamos a cambiar nuestra clase Main por el siguiente código:


package
{
import flash.display.MovieClip;

/**
* ...
* @author ASL
*/
public class Main extends MovieClip
{

public function Main()
{
graphics.beginFill(0x000000);
graphics.drawRect(stage.stageWidth / 2, stage.stageHeight / 2, 50, 50);
graphics.endFill();
}

}

}

Probamos la película y... ahí está: un cuadrado negro en el centro. Menos es nada.








Anterior Índice Siguiente