我正面临着重新刷新和更新近10年的Screenweaver项目的挑战,并寻找一个体面的现代swf-exe转换器。没有太多时间来评估所有options,因此我想听听有关这种工具的实际工作经验的回复。
由于必须使用WinAPI交互,因此默认投影仪不是一个选项。
类似问题(那里没有具体答案)
Package SWF into an EXE or APP
Create an EXE from a SWF using Flex 3 without requiring AIR?
非常感谢
UPD:为能帮助我提供实际答案的任何人提供300点赏金。
答案 0 :(得分:7)
我已经在很长一段时间内尝试过不同的SWF投影机,到目前为止我认为我已经尝试了大部分(如果不是全部的话)。我已经更详细地解释了我在下面使用过的最好的投影机。
MDM Zinc
http://www.multidmedia.com/software/zinc/
我记得当我使用Vista时,MDM在该操作系统下运行了很多错误。他们需要一段时间来修复这些错误 - 错误并没有阻止它运行,但实际上干扰了程序中某些方法的功能。出于这个原因,我决定不继续测试锌并转移到另一台投影机。尽管如此,我确信他们现在已经修复了这些错误。
程序本身有一个很好的直观界面,允许你创建屏幕保护程序和EXE(这显然对你有好处)。
该产品价格昂贵 - 目前为349.99美元,所以这让我失望。 您还可以生成非常有吸引力的Mac和Linux投影仪,但每个投影仪需要额外的许可证才能花费很多钱。
SWF Studio
这是我非常喜欢的投影机之一。它功能齐全,拥有出色的社区支持,开发人员随时为您提供帮助。它生成的投影机与所有Windows操作系统兼容,我从来没有遇到任何关于这个错误的问题。
Northcode还以49美元的价格为SWF Studio提供学生许可证。我几乎和这些家伙一起购买了许可证,但我之所以不这样做的唯一原因是因为我找到了另一台更适合我的场景的投影机,我将在稍后介绍。
我可以告诉你,我没有使用这台投影机的原因之一(听起来很简单)是因为它的文件很大。 SWF Studio允许您根据文件大小选择所需尺寸的投影仪 - 我认为微小和紧凑的选项,但较小的文件类型可能与目录中的其他文件有依赖关系。这意味着您必须将应用程序与某些文件夹和其他文件以及EXE本身捆绑在一起。
SWF Studio还可以选择创建屏幕保护程序。
<强> mProjector 强>
http://www.screentime.com/software/flash-projector
自从我上次使用它以来,mProjector上升了一个版本(从3到4),所以它可能在这个版本中包含更多的功能。我记得该产品具有很好的透明度,并展示了一些“屏幕好友”,它们使用透明度来虚拟地走动屏幕。我没有使用这台投影机的原因是因为它没有我想要的那么多的Actionscript功能,但我相信它现在有更多。在你的项目中,这不会是一个问题,因为你想要一个屏幕保护程序。Windows和Mac兼容性价格合理,售价399美元,但如果您希望以更低的价格购买,只需购买Windows或Mac。
Janus Flash
我打算更详细地解释这个产品,但我现在意识到该网站已不复存在! Janus是我最喜欢的投影机,因为你的代码中可以使用大量的功能而最终使用它。
与我上面提到的所有投影机一样,每一台投影机都增加了闪存的功能,而这些功能通常不适用于SWF。每个产品都包含预先构建的actionscript方法,这些方法可以与操作系统本身连接,以执行Flash沙箱中无法执行的操作。例如,这些投影仪中的每一个都允许您在计算机上操作文件(添加,编辑,删除e.t.c.)。 Janus拥有我尝试的所有投影机中最多的方法。这部分是因为Janus使用了.NET框架(这意味着您在执行投影仪的系统上需要.NET 2.0)。
与MDM Zinc一样,该产品也允许您为Mac创建应用程序。当我直接联系他们解释我是一名学生时,我设法得到了更便宜的价格。我最近联系了Janus-Flash询问产品的未来,他们说他们可能会在未来重新发布Janus,但现在它已经不在市场上了。
我使用的其他一些产品值得一提,但我没有详细解释:SWFKit,Jugglor,F-IN-BOX(更多开发人员因为需要剪切代码而更新)
快速搜索可能值得一看:Flash2Me,Flash EXE Builder和SWF to Screensaver。
对于您的项目,我认为最好的选择是SWF Studio。它有很多很好的脚本功能可以用来与操作系统进行交互,而且完整许可证的价格也只要299美元。
我希望这有助于您决定使用哪种投影机,并且可以避免像我几个月那样尝试许多不同的投影机!
答案 1 :(得分:2)
我们直接在我们的核心API中支持很多Win32功能,因此您可能甚至不必进行直接的API调用,但如果您这样做...
SWF Studio有一个高级的插件API,允许您使用C ++,C#或VB.NET编写自定义插件,因此您可以调用win32或.NET函数。我们创建了自己的ummanaged到托管代码填充程序,因此您可以编写本机.NET插件并从SWF Studio中调用它,就像编写Win32插件一样容易。
在AS2或AS3中调用SWF Studio功能的方式没有区别。我们在API中保持了100%的向后兼容性。无论您使用的是AS2还是AS3,您的通话都能正常工作。他们会继续工作。
然而,我们真正大放异彩的地方是支持。我创建了SWF Studio,我每天都在论坛中回答问题并修复错误。
答案 2 :(得分:1)
我的经验来自一年前。
与mProjector合作后,我可以告诉您,AS3 API非常强大且易于使用。我能够使用外部资产将一个基于swf的大型项目包装到EXE中,而不会出现很多问题。 mProjector的项目gui的UI留下了一些需要的东西,但实际的文件系统挂钩很容易使用。
困难在于并非所有文件都有记录。事实上,一年前有很多无证件包。
我对mprojector唯一真正的问题是在AS3中没有任何对SharedObjects的支持。他们社区中的某个人围绕这个工作并提供他们的解决方案。它当然会利用在本地系统上存储文件。
这总体上与Zinc相比毫不逊色,Zinc非常复杂,编译速度慢,而且比没有文档更糟糕的是我需要的所有文档都是错误的。
我几乎立即排除了Jugglor。它从来没有成功地编译任何东西。
由于这是一个你正在谈论的旧项目,并且用AS2编写,我不能说到它的那一面。但是我可以说,像Zinc和mProjector这样的程序已经比AS3长了很多,并且AS3中可用的相同钩子似乎也可以在AS2中使用。 AS2中可能存在更多此类挂钩的可能性,因为它已被支持更长时间,但我根本无法保证这一点。
答案 3 :(得分:1)
我已经使用了所有这些应用程序,但最重要的是我喜欢theFlajector - 一个将flash电影(swf)转换为exe文件的程序。您可以在生成的应用程序中包含Flash播放器,他们将使用它。换句话说,即使没有安装Flash播放器,应用程序也能正常工作。此外,Flajector可以从flash电影创建无窗口应用程序。您可以使用插件扩展您的应用程序。使用标准类,您可以使用文件等。