rpdr lenguaje help as3 flex flash actionscript-3 adobe

lenguaje - ¿Hay alguna forma de imprimir un proyecto de ActionScript 3(Flex/AIR) a la salida estándar?



as3 lenguaje (4)

¿Hay alguna forma de que un documento binario compilado de un proyecto de ActionScript 3 imprima cosas en stdout cuando se ejecuta?

Según lo que he reunido, las personas han eludido esta limitación escribiendo hacks que dependen de conexiones de socket locales y aplicaciones de AIR que escriben en archivos en el sistema de archivos local, pero eso es todo, obviamente no es posible con Flash Player. y tiempos de ejecución de AIR de Adobe.

¿Hay algún proyecto (por ejemplo, basado en el código Tamarin) que esté intentando implementar algo que proporcione este tipo de funcionalidad?


Como dices, no existe una forma creada por Adobe para hacer esto, pero es posible que tengas más suerte con Zinc , que sea similar a AIR pero que proporcione una integración real del sistema operativo de las aplicaciones basadas en Flash. Mira a través de los documentos API , debería haber algo allí.



Redtamarin parece ser capaz de hacer esto (aunque todavía está en su infancia):

Contenido de test.as :

import avmplus.System; import redtamarin.version; trace( "hello world" ); trace( "avmplus v" + System.getAvmplusVersion() ); trace( "redtamarin v" + redtamarin.version );

En la línea de comando:

$ ./buildEXE.sh test.as test.abc, 243 bytes written test.exe, 2191963 bytes written test.abc, 243 bytes written test.exe, 2178811 bytes written $ ./test hello world avmplus v1.0 cyclone (redshell) redtamarin v0.1.0.92


Con AIR en Linux, es fácil escribir en stdout, ya que el proceso puede ver sus propios descriptores de archivos como archivos en / dev.

Para stdout, abra /dev/fd/1 o /dev/stdout como un FileStream , luego escriba eso.

Ejemplo:

var stdout : FileStream = new FileStream(); stdout.open(new File("/dev/fd/1"), FileMode.WRITE); stdout.writeUTFBytes("test/n"); stdout.close();

Nota: Vea esta respuesta para la diferencia entre writeUTF() y writeUTFBytes() - este último evitará salida distorsionada en stdout.