Disponible desde el 2006, ActionScript 3.0 es la última versión del lenguaje de programación para Adobe Flash CS3 y superior. Está basado en la última versión del estándar ECMAScript, lo cual lo convierte en familiar de JavaScript. ActionScript 3.0 se orienta a objetos y sólo sirve para reproductores Flash Player 9 o superior.
Este artículo resume parte del primer capítulo de un magnífico curso de Jesús-Eduardo Conde Núñez, cuyo trabajo recomiendo sin lugar a dudas. Describiré 4 modos distintos de añadir código ActionScript 3.0 a un proyecto Flash CS6:
- En la línea de tiempo.
- Importando un archivo externo.
- Especificando un Documento de Clase.
- Enlazando a librerías de clases externas.
1. Añadir código ActionScript 3.0 en la línea de tiempo.
Este es el método más sencillo y habitual pero el menos recomendable para grandes proyectos. Si tuviéramos que corregir o cambiar el código, lo que sucede muy a menudo durante el desarrollo y mantenimiento de un proyecto con cierta embergadura, tendríamos antes que perder el tiempo buscándolo en una película Flash con muchos fotogramas y capas. Aún así es muy cómodo en un trabajo pequeño.
Empezamos creando un nuevo archivo, por supuesto de tipo ActionScript 3.0, guardándolo por ejemplo con el nombre «LineaDeTiempo.fla». Seleccionamos el fotograma 1 de la capa 1 y accedemos al panel de acciones desde Ventana> Acciones o pulsando F9.
Escribimos el código:
1 |
trace("Estás en www.infosofia.es"); |
A continuación probamos la película pulsando Ctrl+Intro, o desde Control> Probar película> Probar
Veremos el panel Salida con nuestro mensaje y también la ventana del reproductor Flash vacía, lógicamente, pues el único fotograma de la escena no contiene nada, solo nuestro código.
2. Importando un archivo externo.
Con este método aunque la llamada al archivo externo se encuentra también en un fotograma de la línea de tiempo principal, el grueso del código estará separado y podremos utilizarlo en otros archivos .fla, como hacemos al enlazar hojas de estilo CSS o código JavaScript a nuestros documentos XHTML.
Creamos un nuevo proyecto ImportarArchivoExterno.fla y ahora también un segundo archivo que será de tipo ActionScript, y que guardaremos como ImportarArchivoExterno.as, asegurándonos de que la extensión es .as y de que está en el mismo directorio que el documento .fla. Fíjate en la imagen:
En ImportarArchivoExterno.as, desde su panel de acciones, escribimos el código, el mismo de antes:
1 |
trace("Estás en www.infosofia.es"); |
Posteriormente volvemos al documendo ImportarArchivoExterno.fla y en el primer fotograma, pulsando F9 añadimos esto, que como ves se parece mucho a PHP:
1 |
include "ImportarArchivoExterno.as"; |
Guardamos los cambios en ambos archivos y probamos la película, obtendremos la misma Salida.
3. Especificando un Documento de Clase.
Una clase es un modelo o molde para uno o más objetos, instancias de la clase. Cualquiera de los elementos que aparecen en Flash son objetos: botones, clips de películas, gráficos, campos de texto, etc. Por ejemplo, un clip de película se construye a partir de la clase MovieClip heredando todas sus propiedades y métodos.
Ahora veremos un tercer modo de añadir ActionScript 3.0 a una película Flash. Consiste en asociar a la línea de tiempo principal una clase contenida en un archivo externo. Cuando el archivo .swf, resultado de compilar el archivo .fla, se cargue en el reproductor de Flash, se ejecutará el código programado en dicha clase.
Creamos y guardamos un nuevo documento ActionScript 3.0 como DocumentoDeClase.fla y en las propiedades de la línea de tiempo, en el campo Clase de Documento añadimos lo siguiente: DocumentoDeClase.
Un mensaje nos advertirá de que no existe todavía la clase en cuestión, pero aceptamos el aviso, vamos a crearla ahora mismo.
Al igual que ya hicimos en el caso anterior, guardamos un nuevo archivo .as en el mismo directorio. Lo tenemos que llamar DocumentoDeClase.as, es muy importante que los nombres coincidan. Es en este documento donde insertaremos el código siguiente:
1 2 3 4 5 6 7 8 |
package{ import flash.display.MovieClip; public class DocumentoDeClase extends MovieClip{ public function DocumentoDeClase(){ trace("Estás en www.infosofia.es"); } } } |
Quienes hayan programado en Java o cualquier lenguaje con orientación a objetos como PHP podrán entender este código. Escribiré sobre ello en futuras entradas del blog. Se crea una clase y su constructor, en este caso, su única función o método, dándoles el mismo nombre que hemos estado utilizando.
Guardados los cambios al probar la película, Ctrl+Intro, veremos el mismo resultado.
4. Enlazando a librerías de clases externas.
Asociaremos una clase externa a un símbolo de la biblioteca y no directamente a la línea de tiempo principal. Cuando una instancia de dicho símbolo aparezca en la película, se ejecutará el código de la clase a la que lo hayamos vinculado.
Creamos un nuevo archivo .fla como LibreriaClaseExterna.fla, y otro LibreriaClaseExterna.as.
En el archivo .as, como en el punto anterior, escribimos un código similar, cambiando el nombre de la clase y de la función constructora que se ejecutará en cuanto se cargue el clip.
1 2 3 4 5 6 7 8 |
package{ import flash.display.MovieClip; public class LibreriaClaseExterna extends MovieClip{ public function LibreriaClaseExterna(){ trace("Estás en www.infosofia.es"); } } } |
En el primero, el archivo .fla, debemos crear el símbolo de tipo Clip de Película al que vincularemos la clase contenida en el archivo LibreriaClaseExterna.as. En el diálogo nombramos el nuevo símbolo como LibreriaClaseExterna y abajo, en Avanzado> Vinculación, marcamos Exportar para ActionScript. Al guardarlo obviaremos cualquier mensaje de advertencia.
Desde la biblioteca arrastraremos al escenario una instancia del nuevo símbolo. Al probar la película obtendremos la misma Salida.
Espero que este artículo haya sido de utilidad para ti. Si tienes alguna pregunta o sugerencia deja abajo una respuesta, muchas gracias y hasta la próxima.