Actionscript 3.0, de la animación a la interactividad
Escrito por Revista NeoPixel Jueves, 04 de Febrero de 2010 19:52
Texto por: - Alberto González
agonzalez(at)activ.com.mx
La mayoría de la gente que conoce o ha escuchado hablar de Flash en Web lo conoce como una herramienta para generar animaciones o sitios web que requieren de un “Flash Player” para poder ser visualizados.

La realidad de las cosas es que Adobe Flash, nos sirve para mucho más que crear una animación o sitio web. Con ésta poderosa herramienta podemos crear, incluso, aplicaciones al estilo RIA (Rich Internet Application), con alto contenido transaccional, que se comunique con distintos almacenes de datos y así tener una aplicación suficientemente robusta y segura, con un buen diseño y por supuesto, animaciones de ser necesario. Todo esto lo logramos por medio de ActionScript 3.0 (AS3).
¿Qué es ActionScript 3.0 ?
Más formalmente, ActionScript es el lenguaje de programación interpretado por una máquina virtual (AMV2) que se encuentra dentro del Flash Player al momento de reproducir un contenido. Es necesario cuando creamos aplicaciones dinámicas en Flash, reutilizables, personalizables, con animaciones complejas, interfaces interactivas y manejo de datos.
También es un lenguaje orientado a objetos (Object-Oriented) que nos permite heredar comportamientos y características entre los elementos similares creados, modular nuestras aplicaciones y proyectos, encapsular elementos de una misma entidad, entre otras cosas.
Para todos aquellos usuarios que llegaron a utilizar Flash 8 o anteriores con ActionScript 2 ó 1 probablemente vean AS3 como un lenguaje más estricto, también más robusto y con un cambio más drástico respecto a las versiones anteriores.
Para quienes no han tenido contacto alguno con ActionScript 3, verán que es muy poderoso para crear interactividad y darle vida a las aplicaciones creadas en Flash CS4, además de que la rapidez en el aprendizaje puede incrementarse si han trabajado con JavaScript o algún otro lenguaje de scripting.
Elementos de ActionScript 3.0
Analizaremos algunas características de ActionScript 3.
Modelo de Eventos
La mayor ventaja de este modelo es que tenemos una sola forma estándar de manipular y lanzar eventos. Olvidémonos de que si el evento está registrado en el Botón, en el MovieClip o en la línea de tiempo, esta vez sólo puede estar en la línea de tiempo en la forma predeterminada :
objecto.addEventListener(evento, función);
miBoton.addEventListener(“click”, presionado);
E4X
ECMAScript for XML (E4X) es la nueva forma de manipular datos en formato XML. Lo mejor es que XML es soportado como tipo de dato nativo de AS3 pudiendo declarar y filtrar elementos de manera directa:
var misDatos:XML =
<creativesuite>
<product>Adobe Flash CS4</product>
<product>Adobe Dreamweaver CS4</product>
<product>Adobe Photoshop CS4</product>
</creativesuite>;
Otra ventaja es que podemos olvidarnos de “firstChild”, “nextSibling”, etc, que antes utilizábamos (en AS2) para navegar por los datos, porque el hacerlo en AS3 es verdaderamente intuitivo.
trace(misDatos.product[0]) // Esto muestra “Adobe Flash CS4”
DisplayList
Una característica de ActionScript 3 es la inclusión del “DisplayList”. DisplayList es la lista de elementos que se están mostrando en la película. Absolutamente todo lo que vemos en el área del Flash Player está en el DisplayList permitiéndonos así manipular, incluso, las formas sencillas que dibujamos en Flash con las herramientas de diseño y que antes, para poder manejarlas, tenían que ser convertidas a símbolos.
También, para crear nuevos elementos visibles, ya no tenemos que utilizar funciones, hasta cierto punto, extrañas como “createTextField” (para crear cuadros de texto) o “createEmptyMovieClip” (para crear MovieClips). Tenemos ahora la forma genérica de:
var cuadroTexto:TextField = new Textfield();
var clip:MovieClip = new MovieClip();
Acceso a datos a un bajo nivel.
¿Qué significa a un “bajo nivel”? Implica el poder acceder a los datos “crudos”, por así decirlo, de elementos reproduciéndose. Por ejemplo: Podríamos convertir, cualquier zona mostrada en la película, en una imagen como mapa de bits y así ir manipulando pixel por pixel si quisiéramos, hasta incluso poder comprimir la imagen en jpg y guardarla en la computadora.
Otro ejemplo sería el poder acceder al espectro de audio que forma cierto sonido y poder crear una aplicación que fuera mostrando las ondas que va formando el sonido.
Otro más, acceder directamente a los datos binarios de los elementos, etc.
Existen más cambios en ActionScript (con respecto a AS2) que no explicaré en este artículo por la orientación que tiene, como lo son:
• Nuevos tipos de datos primitivos
• Espacios de nombres
• Expresiones Regulares
• Excepciones en tiempo de ejecución
Compatibilidad
No podemos olvidar la compatibilidad con las versiones anteriores. ActionScript 3.0 es muy similar a ActionScript 2.0 sólo hay que tomar en cuenta los cambios que hubo para no cometer muchos errores al momento de implementarlos. Aquí les dejo una liga con los cambios que hay entre versiones
http://livedocs.adobe.com/flex/2/langref/migration.html
Para terminar…
Definitivamente si queremos que nuestras animaciones/aplicaciones “cobren vida” es necesario utilizar ActionScript 3.0 así que los invito a que, si no han trabajado aún con AS3, vean los tipos de interactivos que se pueden hacer al emplear el lenguaje y, si ya han trabajado antes con ActionScript, no lo dejen porque poco a poco se vuelve más robusto y “poderoso”.
Les envío un saludo y les dejo unas referencias.
http://www.adobe.com/devnet/actionscript/
http://blog.agknology.com/ (blog personal)
Texto por: - Alberto González
agonzalez(at)activ.com.mx



