English 中文(简体)
如何在Linux上运行Windows Flash游戏?[关闭]
原标题:
  • 时间:2008-12-29 07:58:59
  •  标签:

这个问题似乎与特定的编程问题、软件算法或程序员主要使用的软件工具无关。如果您认为这个问题适合在另一个Stack Exchange站点上发布,请留言说明该问题可能会得到回答的位置。

Closed 8 years ago.

我有一些Windows版的教育类闪存游戏(是合法购买的),我希望我的女儿能在她的OLPC上使用。

我知道有些用户可以使用Wine在Linux下运行它们,但对于OLPC来说这真的不是一个选项,因为它们需要将光盘放在驱动器中运行,而OLPC没有光盘驱动器。

游戏需要从光盘安装,然后从exe文件运行。在使用过程中需要将光盘放入驱动器中。

我已经看到有一些Flash反编译器可用,所以我在想是否可能将游戏反编译并重新编译为Linux?

Update

经过一些进一步的研究和实验,我已经离成功运行游戏更近了一步。

结果证明,该exe文件是一个投影仪(用Director制作),它所做的就是在一个子目录中运行一个dxr文件。我可以直接在flash播放器中打开这个文件,但它只是一个初始菜单,从中你可以选择各种活动。

问题是当您选择一个活动时,会出现错误,例如找不到文件:"SUBDIRACTIVITY"。

活动子目录与菜单子目录位于同一级别。因此,我尝试制作一个仅运行菜单的存根影片,并从根目录(与原始投影仪相同)启动它。它可以正常运行菜单,但仍会对活动产生相同的错误。

问题回答

这可能取决于你所说的“Windows Flash”游戏的含义。Flash内容通常存在于SWF中,它是跨平台的,并且可以在任何操作系统上播放(理论上-实际上,Linux Flash播放器的质量一直不稳定)。因此,如果您可以找到这些游戏的SWF内容,那么将它们复制到您想要的位置可能就可以了。

然而,如果这些游戏通常是从光盘上执行的,那么可能会更复杂一些。如果光盘中的游戏内容以EXE形式显示,那么您可能正在查看投影仪文件。投影仪基本上是将Flash播放器和SWF内容打包在一起以进行播放的EXE,提供您可以在没有安装Flash的系统上运行的内容的EXE。如果这是您拥有的内容,则将该EXE复制到目标系统并在Wine下运行可能会起作用。但是,投影仪可能会有某种逻辑防止它在除光驱以外的设备上运行。我不确定可以做些什么。我相信有一些工具可以从投影仪中提取SWF内容,但我无法担保其中任何一个。(这可能也违反了您购买游戏许可证的条款。)

最后,以上所有内容都假定这些游戏作为直接从光盘运行的东西存在。如果这些是具有安装/卸载功能的东西,那么即使某些部分是使用Flash开发的,在Linux下使它们工作也可能与任何其他应用程序没有太大区别。

请查看OLPC维基以寻求帮助。

他们有这个页面用于安装Adobe Flash Player,这可能是最好的开始。

新的答案为更新的信息,游戏是从一个exe文件运行的。在这种情况下,似乎你的问题不是在Linux上运行这些游戏,而是在没有光盘的情况下运行它们。

至于重新编译的可能性,如果游戏是从CD安装的,即使游戏内容是Flash,听起来容器也是普通的可安装Windows应用程序。(除非它是Adobe AIR应用程序,但我假设你会提到。) 在这种情况下,重新编译Flash内容不会有任何作用,因为CD检查肯定是win应用程序逻辑的一部分,而不是在Flash内部完成的。

尝试制作光盘的ISO镜像,将其挂载到虚拟驱动器上,然后尝试在Wine下运行它。

安装wine,然后安装Swift Flash Player。这是swf文件的最佳方式。





相关问题
热门标签