AttachMovie en AS3 desde Eclipse

Publicado por Iván Gajate el 15 de febrero de 2009 en AS3, Flash, Tutoriales

Ya hemos visto como instalar Eclipse con el plugin de Flex para editar ActionScript, pero no sabemos cómo vincular un clip de película de la biblioteca al escenario, lo que en AS2 era un attachMovie.

En Flash lo haríamos así:

var cuadrado:Cuadrado = new Cuadrado();
cuadrado.x = 100;
cuadrado.y = 100;
addChild(cuadrado);

donde Cuadrado es el nombre de la clase asociada a ese clip de la biblioteca, pero en Eclipse no tenemos biblioteca. Entonces, ¿como lo hacemos???

Tenemos que exportar la biblioteca como un archivo swc, e importarlo luego en nuestro proyecto de Eclipse. El resto es exactamente igual.

Supongamos que tenemos un clip de película con un cuadrado dibujado y un campo de texto dinámico llamado “campo“.

Le asignamos una clase de viculación para poder añadirlo por programación.

Hasta aquí todo igual que en Flash. Ahora tenemos que indicarle a Flash que exporte la biblioteca en formato swc. En las propiedades de publicación chequeamos Exportar SWC

Publicamos nuestro fla y veremos que ha creado el swf y otro archivo swc, que no es mas que un zip, con nuestra biblioteca.

Da igual dónde hayamos guardado estos archivos, son independientes de nuestro proyecto. Por eso, vamos a añadir el swc a nuestro proyecto de Eclipse.

Abrimos las propiedades del proyecto (Boton derecho en el proyecto > Properties > ActionScript Build Path > Library path > Add SWC…) y añadimos el swc que acabamos de crear en Flash.

Ahora Eclipse ya conoce los objetos vinculados de nuestra biblioteca, y podemos programar como si estuviésemos en Flash.

Cuando empecemos a poner el nombre de la clase Cuadrado, Eclipse nos mostrará un cuadro de ayuda con el nombre de la clase.

Lo mejor es que no solo entiende y nos ayuda con la sintaxis del clip, sino del campo de texto que tenemos dentro. Esto es fantástico! ;)

Ya podemos compilar la película para ver el resultado.

Como veis, es igual que en Flash, solo que no tenemos al lado la biblioteca y hay que importarla a nuestro proyecto.

Al no tener una línea de tiempo física, tampoco podemos arrastrar objetos al escenario como lo haríamos en Flash, tenemos que crear los objetos con un new

Para solucionar esto, lo que si podemos hacer es crearnos un clip escenario donde podemos colocar los gráficos que queramos y ese clip añadirlo por programación con new Escenario(), así no cambiamos mucho nuestra forma de trabajar ;)

Ojo!! al compilar en Eclipse, no está tirando de los archivos fla ni swf, ni de las clases que tengan asociadas estos archivos, sino del swc que hemos creado.

Por lo tanto, si hacemos algún cambio en el fla, o creamos una clase Cuadrado.as propia, tendremos que compilar el swc en Flash, refrescar el proyecto en Eclipse (Botón derecho sobre el proyecto y Refresh o F5) y ya veremos los cambios al compilar de nuevo.

Por eso es mas interesante vincular nuestros clips a una clase CuadradoBase sin funcionalidad propia, y crearnos una clase Cuadrado propia que extienda de CuadradoBase para evitarnos tener que volver a Flash para recompilar la clase cada vez que hagamos un cambio en ella.

Recomiendo ver los video tutoriales de Lee Brimelow sobre

cómo usar Flex para ActionScript

o cómo añadir el plugin CFEclipse para los Snipets,

o los post sobre Eclipse en su blog, son realmente instructivos.

Y este post de Diego sobre Flex, Flex Builder, FDT…

 

4 comentarios para “AttachMovie en AS3 desde Eclipse”

  1. Madre del amor hermoso, lo que te están haciendo.

    Te están convirtiendo!!! Que es eso de utilizar SWCs!! Los hace Satán!!.

    Flash Develop + Flash es la cambinación ganadora para mi, al menos si tienes que currar a medias con diseñadores.

    Sé que me vas a decir que no hay FD para MAC, pero es que currar en Flash con MAC debería estar prohibido. No nos dáis más que problemas a las personas serias.

    El FDT no lo he probado, pero es que cuesta 400€ la versión “barata”.