Noticias Weblogs Foros Wiki Código
Sponsors:

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

PlanetaCódigo en inglés

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

X-Ray en proyectos Flash Open Source

Diciembre 31st, 1969 - [Enlace local]

Para el que no conozca el proyecto X-Ray le resumiré que es una potente herramienta para poder inspeccionar nuestras aplicaciones SWF en tiempo de ejecución como si de un depurador se tratara. Esto se realiza gracias a la magia del objeto LocalConnection que nos permite realizar una comunicación entre dos SWFs corriendo en local. En nuestro caso un SWF será nuestra aplicación a la cuál le añadiremos un pequeño conector para permitir la comunicación con el segundo SWF que no es más que la interface de X-Ray donde podremos consultar las diferentes variables, objetos y MovieClips que se encuentren en nuestra aplicación a la hora de tomar la foto.

Para utilizar X-Ray con proyectos Flash libres (ya sabeis… ASDT, MTASC, Eclipse y SWFMill) podeis usar la versión denominada “Connector Only“, la cual puede ser descargada desde aquí (la revisión actual del connector es la 1.4.5). Además necesitareis la interface de X-Ray cuya versión más reciente (la 1.2.5 en estos momentos) está en esta otra url.

Dentro del fichero podeis encontrar un directorio de clases. Para poder reutilizar esta carpeta os recomiendo que la situeis en un directorio fuera del proyecto actual para que podais compartir esas clases. Yo uso una carpeta lib donde tengo una subcarpeta para cada conjunto de clases (como pueden ser las clases de animation package, remoting, mx parcheadas,etc…) que suelo reutilizar en cada proyecto. Para estas he creado una carpeta xray_classes. Dentro de dicha carpeta he copiado solo la subcarpeta com debido a que ni uso las clases mx ni flashout).

Dentro de mi build.xml (de ANT), tengo una nueva variable que referencia estas clases, la cuál utilizare luego para construir mi SWF con MTASC encadenandola en el path:

XML:

  1. <property name=“xray_classes” value=“${lib}/xray_classes”/>

Para comprobar que todo está correctamente configurado, usé el siguiente código en la clase principal de mi proyecto:

ActionScript:

  1. /* Importar la clase XRayLoader para cargar el conector
  2. * Dicho conector lo podeis encontrar en el zip y se llama: ConnectorOnly_as2_fp7_OS_1.4.5.swf
  3. * El conector debeis de copiarlo a la carpeta donde tengais vuestro swf
  4. */
  5. import com.blitzagency.xray.util.XrayLoader;
  6.  
  7. /* El siguiente cÃ&sup3;digo dee estar en el constructor de vuestra clase
  8. * principal
  9. */
  10. // — XRAY
  11. var listener:Object = new Object();
  12. listener.xrayLoadComplete = function(){
  13.         XrayLoader.trace(“Xray has loaded…”);
  14. }
  15. XrayLoader.addEventListener(“xrayLoadComplete”, listener);
  16. XrayLoader.loadConnector(“ConnectorOnly_as2_fp7_OS_1.4.5.swf”, this);
  17.  

Una vez que compileis vuestra aplicación esta será capaz de cargar el conector de X-Ray y comunicarse con la interface que hace las veces de debugger. Esta última debeis arrancarla después de vuestra aplicación para que la magia tenga efecto.

Lo bueno de este método es que podeis configurar vuestro build.xml y la clase donde insertais el código anterior para automatizar vuestros pasos a producción y solo disponer del “modo debug” cuando os interese.

» Leer más, comentarios, etc...