将数组从 Flash (AS3) 发送到 JavaScript
是否可以使用ExternalInterface 调用将数组从Flash (AS3) 发送到JavaScript?
我目前正在 Flash 内的“foreach”循环中多次调用一个函数,但速度太快,JavaScript 无法跟上。
我的想法是创建一个属性数组,将其传递给 JavaScript 函数,然后在 JavaScript 中循环遍历它。
谢谢, 乔什
Is it possible to send an array from Flash (AS3) to JavaScript using an ExternalInterface call?
I currently am calling a function multiple times from a 'for each' loop inside Flash but it goes too fast for the JavaScript to keep up.
My idea is to create an array of the attributes, pass that to the JavaScript function and then to loop through that in the JavaScript.
Thanks,
Josh
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,这是可能的。
http://livedocs.adobe.com/flash /9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#call()
快速测试:
AS 代码:
JS 代码:
Yes, it's possible.
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#call()
A quick test:
AS code:
JS code:
除了使用 JSON 的建议之外,这对于小型数组来说应该更快,并且不需要使用 eval 或外部库来解析。 在 flash 中将数组加入到字符串中,如下所示:
item1|item2|item3|item4
将字符串传递给 JS 并使用 split("|") 再次拆分它
Further to the suggestion of using JSON, this should be faster for small arrays and wouldn't require the use of eval or an external library to parse. Join an array in a string like this in flash:
item1|item2|item3|item4
Pass the string to the JS and split it again using split("|")
您始终可以创建一个 JSON 对象并将其传递给 JavaScript。
You could always create a JSON object and pass that to JavaScript.