SEPY - ActionScript Editor

Escrito el 17/04/2004 por Xavi Beumala

SEPY es un editor de ActionScript que ya tiene bastante tiempo. En su última versión incorpora características realmente muy buenas y IMHO lo hacen uno de los mejores editores de AS2.

Entre sus prestaciones tendríamos que destacar:

  • Es gratuito y openSource.
  • Autocompletación de código tanto para las funciones y clases de Flash, como para las que cree el usuario.
  • Coloreado de sintaxis
  • Ayuda de Flash integrada en la interfaz.
  • CodeHints
  • ClassBrowser.
  • Integración de proyectos de flash MX2004
  • Y así un largo etcétera

Más información en:

Foros After-hours

Escrito el 17/04/2004 por Xavi Beumala

Recientemente after-hours ha inaugurado una nueva sección de Foros.

Hay varias categorias abiertas, y aunque los foros son nuevos ya tienen bastante movimiento :-). Personalmente tengo el placer de ser moderador de AS2 junto a Pedro Alpera, todo un placer para mi estar ahí.

Gracias por la invitación.

NAVEGANDO GRACIAS A LAS RSS

Escrito el 14/04/2004 por Xavi Beumala

Es un hecho que cada vez hay más y más blogs de lectura obligada. Son muchos los sitios que aportan información a veces curiosa, a veces trascendental, a veces muy útil pero casi siempre nos aportan algo de conocimiento. Pero también es un hecho que tal y como van apareciendo más blogs es más complicado leerlos todos y estar al día.

Para agilizar la lectura y ser notificado en todo momento de nuevas entradas en los distintos blogs os invito, a los que no lo hacéis ya, a utilizar algun RSS Reader de los que existen. Aunque más o menos todos los readers hacen lo mismo yo personalmente utilizo el RssReader que es gratuito y va estupendamente. Entre sus caracterísitcas, y en general para cualquier Reader destacaría el almacenamiento de los distintos Feeds para poder hacer búsquedas posteriormente.

Para los que os queráis animar a utilizar las RSS's os dejo aquí el xml de los blogs que tengo sindicados (casi todos son de flash :P). Hay bastantes url's que por el motivo que sea o no tienen rss's, o no tienen el link accesible o dan error, por lo que en algunos casos aún utilizo el navegador (cada vez menos para leer noticias y demás).

La verdad es que es un placer no tener que navegar por las distintas webs de las que constantemente olvidas las direcciones y estar pendientes de que hayan actualizado contenido.

nueva versión SWF Tracer

Escrito el 13/04/2004 por Xavi Beumala

Descarga para flash player 7

La verdad es que ayer cuando colgué la primera versión del SWFTracer ni yo mismo me creía que hoy publicaría una nueva versión... Pero he leido un post de Gregg Wygonik que ha permitido aumentar sustancialmente las prestaciones de la aplicación.

Los posts a los que me refiero son:

En resumidas cuentas resulta que el Flash Player en su distribución Debugger (flash player 7) incorpora una opción de depuración sólo documentada para Flex. Esta opción captura de forma asombrosa un sinfín de parámetros imperceptibles desde el debugger y compilador del IDE de Flash. Esta opción loggea todo tipo de warnings como errores en mayúsculas/minúsculas, llamadas a métodos inexistentes, referencias a objetos erroneas y un larguísimo etcétera.

Ahora la pregunta es cómo activar esta opción y cómo empezar a sacar provecho de ello. El procedimiento que planteo es el mismo que explica Gregg Wygonik en este post:

  • Hacer click en Mi PC con el botón derecho y seleccionar propiedades.
  • Clicar la pestaña Opciones Avanzadas.
  • Tenemos que añadir dos variables de entorno de usuario: HOMEDRIVE con el valor 'c:/' (sin las comillas) y HOMEPATH con el valor C:\Documents and Settings\ (sustituyendo el nombre de usuario por el vuestro).
  • Ahora tenemos que ir a la carpeta C:\Documents and Settings\ y añadir un archivo con nombre mm.cfg. De hecho la ruta de este archivo corresponde con el valor de la variable de entorno HOMEPATH que acabamos de declarar.
  • En este archivo añadimos las siguientes lineas:
    ErrorReportingEnable=1
    TraceOutputFileEnable=1
    TraceOutputFileName=C:\flashlog.txt
    MaxWarnings=0
  • Quien quiera más información sobre estos parámetros se puede referir a la documentación de Flex.
  • Ahora lo que tenemos que hacer es instalar el flash player versión debugger. Pero primero tenemos que desinstalar el player que tengamos instalado. Para ello tenemos que descargar el desinstalador de la web de Macromedia.
  • Una vez desinstalado vamos a la carpeta C:\Archivos de programa\Macromedia\Flash MX 2004\Players\Debug y ejecutamos el archivo Install_Flash_Player_7AX.exe. Este nos instalará la versión debugger.
  • Para ver que realmente se ha instalado bién tenemos que abrir un swf en el navegador y pulsar con el botón derecho sobre él. Si todo ha ido bién tendríamos que ver una opción desactivada que dice: 'Depurador'. Si no es así tenemos que repetir los pasos anteriores.
  • Ahora lo único que queda es probar lo que hemos hecho y ver donde queda todo registrado.
  • Creamos un nuevo fla desde Flash MX 2004 con el siguiente código:
    xX = 0;
    trace(Xx);
    trace(xX);
  • Lo publicamos y lo abrimos con el explorer.
  • Si todo ha ido bién ahora en c:/ encontraremos un archivo llamado flashlog.txt. Este archivo se encuentra en la ruta definida por la variable de entorno HOMEDRIVE que hemos definido antes. El archivo contiene lo siguiente:
    Advertencia: referencia a variable no declarada, 'y'
    -- Probablemente no coinciden las mayúsculas y minúsculas.
    undefined
    0

¡Pues esta es la maravilla! Si lo probáis con algún swf más complejo veréis la potencia de esta funcionalidad. La verdad es que estoy seguro que esto nos ayudará a disminuir los tiempos de testeo y de búsqueda de bugs en nuestras aplicaciones!

Pues ahora al tema de este post: la nueva versión de SWF Tracer. Lo que he hecho es añadir una nueva rama al árbol a través de la cual se puede visualizar el contenido del archivo flashlog.txt. En la parte inferior he añadido una caja de texto en la que tenemos que escribir la ruta y el nombre del archivo flashlog.txt para que la aplicación lo pueda encontrar. El botón 'Save' permite salvar de forma permanente esta ruta (a través de un sharedObject). Otra opción añadida es el numericStepper, lo que permite es indicar el número de segundos que tienen que transcurrir entre lectura y lectura del archivo en cuestión. Si no queremos que se autoactualize basta con ponerle un 0. Si pulsamos en 'save' se recargará de forma inmediata.

Espero ir mejorando todo esto, y sobretodo refactorizar el código ya que lo he escrito bastante rápido y no estoy muy satisfecho de él :P.

Espero que os sirva de ayuda y que los disfrutéis!

SWF TRACER

Escrito el 12/04/2004 por Xavi Beumala

Lo prometido es deuda y como se suele decir, más vale tarde que nunca.

En uno de los primeros posts de este blog ya comenté mi intención de desarrollar esta mini aplicación, y no ha sido hasta hoy que me he decidido a hacerla, no por falta de ganas sinó falta de tiempo.

En mis desarrollos diarios, y creo que al igual que muchos de vosotros, utilizo muchas veces la instrucción trace. El problema de ésta es que al final no hay quien se aclare con la ventana de salida ya que hay un sinfín de mensajes entre los que cuesta bastante localizar lo que uno busca. Con la aparición de MX2004 y JSFL pensé que se podría personalizar la ventana salida, pero no es así.

SWF Tracer nos permite utilizar la instrucción trace de una forma ordenada y no caótica, permitiéndonos agrupar los distintos mensajes de una forma conceptual de forma parecida a un logger. Otra utilidad y no menos importante es que nos permite visualizar los traces no sólo desde el IDE, sinó que podemos ver los trace's que manden archivos swf's embebidos dentro del navegador o desde un proyector.

La aplicación consta de dos partes. Por un lado tenemos el visor que nos permite visualizar los mensajes mandados desde nuestro código. Por otra parte consta de una clase estática a través de la cual mandamos los mensajes al visualizador.

Para mandar un mensaje al visualizador sólo tenemos que utilizar la instrucción: Tracer.trace("mi mensaje","com.code4net.prueba"); Donde Tracer es una clase estática que encontraréis en el zip de la descarga. Esta clase la tendréis que copiar donde queráis (un buen sitio sería en la carpeta flash mx2004/en/first run/classes) y después referenciarla desde vuestros archivos (ya sea con un import desde mx2004 o con un #include desde MX).

El primer parámetro de la function Tracer.trace("param1","aqui.tu.classpath") es el mensaje que se va a mostrar. El segundo parámetro es la ruta de destino donde se mostrará. El árbol que hay en la parte izquierda de la aplicación se genera a partir de estas rutas (similares a un classPath). De esta forma cuando queramos ver lo que se ha traceado tendremos que ir exactamente a la rama del árbol que deseemos.

Esta estructura nos permite tener constancia en todo momento de qué clase ha traceado el mensaje, o incluso podemos crear una ruta para mostrar distintos flujos de nuestra aplicación.

En la parte inferior de SWF Tracer se ha añadido una tabla para añadir shortcuts. Estos nos ahorrarán tener que escribir la ruta entera del destino donde queremos escribir la respuesta. Por ejemplo, si añado un shortcut con Reference = "as.system.xml.XML2Object" y Shortcut = "x2", entonces podré hacer mis traces como Tracer.trace("mensaje1","x2") si necesidad de hacer Tracer.trace("mensaje1","as.system.xml.XML2Object"). Lo cual nos agiliza un poquito la tarea.

Por último es aconsejable hacer las llamadas a Tracer.trace desde dentro de un trace. Esto es: trace(Tracer.trace("hola","x2"));. Esto nos permitirá eliminar todos los Tracer.trace sin necesidad de localizarlos en nuestro código. En opciones de publicación tendríamos que marcar la opción de eliminar los trace. De esta forma también eliminaríamos un código que en el producto final no tiene ningún tipo de sentido.

Quien quiera integrar el SWFTracer en el IDE de Flash MX2004, sólo tiene que copiar SWFTracer.swf en la carpeta C:\Archivos de programa\Macromedia\Flash MX 2004\en\First Run\WindowSWF. En Flash MX la carpeta tiene que estar en la ruta C:\Documents and Settings\Xavi\Datos de programa\Macromedia\Flash MX\Configuration\WindowSWF cada uno cambiando su nombre de usuario.

Esta es la primera versión del SWFTracer pero espero ir apliando sus funcionalidades (ya tengo algunas en mente). Si a alguien se le ocurre alguna cosa que le pueda dotar de más utilidad que lo diga e intentaré desarrollarla. De la misma forma, si alguien detecta algún Bug, que me lo diga :-).

Aquí os dejo las descargas. Espero que os sea de utilidad:

.

PD: Existen 2 versiones. Dependiendo de si el origen desde donde se hacen las llamadas a Tracer.trace es un swf publicado para Flash Player 6 o para Flash Player 7. Esto es debido a que las películas para el player 7 no se pueden comunicar con las películas para el player 6 mediante LocalConnection (yo lo considero un bug del nuevo player). Por último sólo comentar que no distribuyo el .fla ya que incluye componentes de Macromedia, y no me queda claro en el contrato de licencia si estos son distribuibles (creo que no).