Lo que yo sé de AS2 #Entorno de trabajo
Lo que yo sé de AS2 (condensado y pasteurizado)
*AUTOR: Juan Delgado Zárate
zarate.tv | dandolachapa.com | loqueyosede.com
FlashLa.com | After-Hours.org
Entorno de trabajo
Terminología básica
Antes de empezar a programar con AS2 hay estar familiarizado con algunos conceptos:
Classpath
Los classpath (puede haber varios) son necesarios para indicarle al compilador dónde está el código que quremos compilar.
Un classpath es una ruta que apunta a nuestras clases en el disco duro. La mejor opción es que guardes todas tus clases (y las de terceros) en el mismo sitio. Si no estás muy inspirado, algo como “C:\proyectos\as2\clases†puede valer (por pura precaución no pondría ni espacios ni caracteres raros). No es obligatorio tener todas las clases en el mismo sitio, pero yo diría que ayuda bastante a reutilizar código entre proyectos.
Namespace o espacio de nombres
Como es muy normal que distintos programadores llamen de la misma forma a una clase (“Configâ€, “Applicationâ€, “Wadusâ€) es necesario “algo†que permita esa coincidencia de nombres. Ese algo es un namespace.
Un namespace es un espacio reservado en el cual se guardan clases. “Físicamente†se traduce en una estructura de carpetas dentro del classpath. Por ejemplo, todas mis clases están en mi namespace que es tv.zarate.*. Es decir, dentro del classpath, hay una carpeta “tv†y dentro de esa carpeta hay otra “zarateâ€. Dentro de “zarate†es donde guardo todas mis clases.
Una vez ahí, hay total libertad para organizar la estructura de packages. Un package no es más que el conjunto de clases dentro de una carpeta. Es bastante normal tener un package para proyectos, otro para clases comunes, otro para efectos…. pero depende totalmente de cada programador.
A pesar de que no es imprescindible, sí que es muy recomendable tener un namespace “propioâ€. ¿Y cómo sabemos que es propio? Porque se suele utilizar un domino. Alquilen podría meter sus clases en la misma estructura, pero no es muy probable.
Import
Para utilizar una clase dentro de otra normalmente hay que importarla primero. Y para importarla hay que utilizar la palabra clave import seguida de el namespace completo de la clase que se quiere importar. Por ejemplo:
- importtv.zarate.utils.Delegate;//importamoslaclaseDelegateclassA{
- publicfunctionA(){
- //para utilizarla, ya no tenemos que utilizar su ruta completa var callback:Function = Delegate.create (this, otherCallback)
- }
- }
Ahora, también es posible utilizar una clase sin namespace si está a la misma altura que el archivo .fla que se compila. Yo diría que es una mala opción, ya que si quisiéramos reutilizar la clase en otro proyecto habría que copiarla y pegarla a la altura del nuevo fla, con lo que reutilizar código se complica bastante.
Para más información sobre cuándo el compilador incluye una clase en un swf, ver en la sección de apuntes “¿Cuándo se compila una clase?â€.
Constructor
El constructor de una clase es un método especial que es llamado automáticamente cuando se crea una instancia de la misma. En AS2 el constructor tiene que tener el mismo nombre que la clase. Sin embargo, NO es obligatorio tener constructor en la clase. Además, en el constructor no se puede definir el tipo devuelto. Ejemplo:
- classA{
- publicfunctionA():A{//erroralcompilar}
- }
Compilador
Es un programa que se encargar de pasar nuestro código (en este caso, ActionScript) a un archivo .swf. Compiladores de AS2 hay varios, los más utilizados son el propio IDE de Flash y MTASC, del que hablaremos más luego.
El IDE de Flash
Para empezar a trabajar con el IDE, lo primero que tenemos que hacer es definir el classpath para nuestros proyectos. Se puede establecer el classpath para un fla determinado, pero yo creo que es una muy mala opción, especialmente si ese fla se va a compartir entre varias personas. Así que nos vamos a Editar > Preferencias > ActionScript > preferencias Action Script 2.0, seleccionamos agregar (el puntito de mira) y buscamos con el explorador el lugar en el que hemos puesto o vamos a poner todas las clases que vayamos a usar, tanto nuestras como propias.
El astuto lector habrá observado que por defecto hay 2 rutas creadas. Una es el directorio de la instalación de Flash que es donde se encuentran todas las clases de Macromedia. El otro simplemente es “.â€, por eso a la hora de compilar el IDE siempre busca clases en la carpeta en la que se encuentra el fla.
AQUÃ VA UN MENSAJE PARA LOS INCAUTOS
El IDE de Flash da MUCHOS, MUCHOS problemas cuando se trabaja con un número elevado de clases, especialmente si están en un equipo que no es el nuestro (por ejemplo un servidor central). Esto es debido que para darle velocidad a la compilación el IDE cachea las clases que estamos utilizando. Eso que en teoría es una buena idea, está muy mal implementada. Y es más que normal que el compilador de errores raros que las 100 primeras veces piensas que es tu culpa y te vuelve loco. Conocedores del problema, desde Macromedia sacaron una extensión para limpiar la caché de clases antes de compilar (ver sección de enlaces).
Mi recomendación inicial es que directamente te pases a MTASC. Si no quieres o no puedes por lo menos échale un ojo a FLASC (Flash IDE + MTASC), seguro que te salva unas cuantas horas.
MTASC
Para quien no lo sepa, MTASC (MotionTween, ActionScript Compiler) es un compilador gratuito y abierto de AS2 desarrollado por Nicolas Cannasse. MTASC sólo compila AS2, así que no es posible utilizar #include o protos.
Para trabajar con MTASC no hay que hacer nada especial, simplemente pasarle como parámetro tu classpath con la opción cp. Sería algo así más o menos:
mtasc swf salida.swf header 200:200:0xff0000 cp “c:\ruta\a\tu\classpath†main ClaseInicio.as
En la sección de Enlaces hay un pequeño tutorial de uso de MTASC y SWFMill para quien esté interesado.
[ anterior ] [ siguiente ]
Compártelo:
Visto 5.723 veces
[…] [ anterior ] [ siguiente ] […]
[…] Terminología básica […]
[…] [ anterior ] [ siguiente ] […]