4

我正在开发一个Flex4/Actionscript应用程序,用于在Web浏览器中访问。我需要它来执行一些涉及虚数的数学(例如sqrt(-1))。我不相信Flex或Actionscript支持这一点。然而,我可以把所有的数学算法放在一个共享的C或C++库(如Matlab创建的)中。 Flex或Actionscript可以访问这些算法(并在客户端上运行它们)?有什么更好的方法来完成这个?Can Flex 4或Actionscript可以访问共享的C或C++库吗?

回答

3
Can Flex or Actionscript access these algorithms (and run them on the client)? 

整理。您可以使用Alchemy在Flash Player中使用C/C++库。我不确定它是如何工作的。该项目是试验性的,但Adobe宣布他们将有一个新版本,他们将“商业化”它。我假设这意味着工具将被放入Flash Pro或Flash Builder中。

这是2011 Adob​​e Max主题演讲背后的技术,展示了使用运行浏览器的虚幻引擎制作的游戏。

一些快速搜索提出了这个AS2 library这可能有助于不走C路线。 (Source)。你可能想把它转换成AS3,但我希望这是最小的。

+2

请记住,您只能在炼金术中使用c/C++功能的子集。 当然,出于安全原因,您将无法离开Flash播放器沙箱。这意味着某些文件系统功能被禁用等等。 –

1

作为炼金术的替代品,您可以使用FluorineFx Aperture Framework。它增加了一项功能,可以使用LocalConnection在AIR应用程序和某种C++ dll之间交换数据。优点是这个DLL真的是本地的,你可以在例如Visual Studio,无限制地使用C++的所有功能。缺点如下:不可靠LocalConnection,限制使用AIR,限制仅在Windows上运行。

我们在其中一个项目上使用的另一种方法是在两个独立的应用程序之间交换数据:native和AIR,即您有“服务器”应用程序和“客户端”AIR。作为“协议”,我们首先模拟LocalConnection,但随后切换到Windows Pipes更稳定。另一种方法是使用本地套接字。

+0

FlourineFx Aperture项目在纸上听起来类似于本机扩展。该项目是否仍然相关? – JeffryHouser

+0

只要NativeExtensions的唯一支持尚未发布Flash Builder 4.6--我认为它是相关的:)实际上,两个功能都非常相似。 – moropus

+0

对不起。我的意思是NativeProcess,而不是本地扩展。但是那表示,现在通过命令行工具支持本地扩展。 – JeffryHouser