javascript flash actionscript-3 externalinterface

Enviar matriz desde Flash(AS3) a JavaScript



actionscript-3 externalinterface (3)

¿Es posible enviar una matriz desde Flash (AS3) a JavaScript utilizando una llamada ExternalInterface?

Actualmente estoy llamando a una función varias veces desde un bucle ''por cada'' dentro de Flash, pero va demasiado rápido para que JavaScript se mantenga al día.

Mi idea es crear una matriz de atributos, pasarlos a la función JavaScript y luego recorrerlos en JavaScript.

Gracias, Josh


Además de la sugerencia de usar JSON, esto debería ser más rápido para arreglos pequeños y no requeriría el uso de eval o una biblioteca externa para analizar. Unir una matriz en una cadena como esta en flash:

item1 | item2 | item3 | item4

Pase la cuerda al JS y divídalo nuevamente usando split ("|")


Siempre puedes crear un objeto JSON y pasarlo a JavaScript.


Si es posible.

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#call ()

... argumentos: los argumentos para pasar a la función en el contenedor. Puede especificar cero o más parámetros, separándolos con comas. Pueden ser de cualquier tipo de datos de ActionScript. Cuando la llamada se realiza a una función de JavaScript, los tipos de ActionScript se convierten automáticamente en tipos de JavaScript; cuando la llamada se realiza a otro contenedor ActiveX, los parámetros se codifican en el mensaje de solicitud.

Una prueba rápida:

Código AS:

if(ExternalInterface.available) { ExternalInterface.call("jsTest", [0,1,"two",{a:1,b:2}]); }

Código JS:

function jsTest(arg) { alert(arg); }