我意识到一个特定于HTML / DOM的jQuery之类的JavaScript库在Flash ActionScript应用程序中不起作用也没有意义。但是其他JavaScript库呢?我读到ActionScript是JavaScript / ECMAScript的超集,这让我感到疑惑。
如果它不使用JavaScript库“开箱即用”可以相对容易地调整JavaScript库吗?此外,ActionScript是否支持XMLHttpRequest或具有粗略的等价物?
答案 0 :(得分:1)
语法类似,因此您可以编译一些代码片段。 JavaScript看起来更像旧的Actionscript 2。
这不仅是jQuery,而且大多数JavaScript库用于与用户界面交互或在后台进行一些通信。如果不是,您可以将它们替换为服务器端库以执行相同的工作。
许多API,例如用于输入和输出的API,都是非常不同的。如果您正在考虑使用复制和粘贴方法来转换库,则需要重新创建许多API才能使其正常工作。例如,一个用于在画布上绘制内容的库:您需要重新创建画布API以在Flash中绘制画布指令 - 或者创建一个包装器以使flash调用原始API以在真实画布上绘制它。或者重写所有这些部分,这些部分几乎可以在库中的任何地方找到。
这给我们留下了严格使用非js特定内容的库。也许编码/解码库或算法和数学重型库。这些库可以更容易地转换。将它们重构为可维护代码将是相当多的工作(在基于OOP的Actionscript 3意义上)。除了语法上的一些较少的更改之外,将库移植到任何其他语言可能需要几乎相同的工作量。此外,很有可能这些通用库已经存在于Actionscript中。
答案 1 :(得分:0)
这是一个非常古老的问题,但我想给出一个最新的答案。 自 2021 年 1 月 12 日起,Adobe 停止更新其 Flash 浏览器插件。 现在正在开发一些库和/或浏览器插件以继续支持 Flash。
可以选择从 HTML 脚本 src 标签加载 JavaScript 库的是 Ruffle。截至目前,它支持 70% 的 ActionScript-1/2 和 5% 的 ActionScript-3。 开发人员声称他们计划全面支持 AS1、AS2 和 AS3。
我自己对其进行了测试,发现它对于许多包含 AS-1/2 的 SWF 文件都能很好地工作。唯一需要做的就是调整您的服务器软件(即 Apache、IIS 等)以允许 wasm 文件支持。
使用标题为“自托管”的链接下载您必须托管的必要文件。 参考https://ruffle.rs/#releases