将多个SWF文件转换为单个EXE

3
嗨,我有一个Flash应用程序,使用ActionScript 3.0 Flash IDE构建,在XML文件中提到了一些外部SWF文件来加载我的应用程序。目前它工作得很好。但是我需要将所有这些外部SWFs和xml文件编译为单个exe文件。我该如何进行编译呢?或者我该如何编写代码呢?
编辑:1 从这里开始:http://page-flip.com/products/pdf-publisher/ 您可以看到一个示例,该应用程序是在.NET中构建的,并导入PDF并将其发布为Flash投影仪或基于Web的(SWF)。它如何编译所有外部SWF文件。
8个回答

8
如果你有Flash CS4,你可以利用mxmlc编译器,它有一些额外的技巧。像这样使用嵌入标签将允许你在你的swf中嵌入整个swf:
[Embed(source = '../assets/items/9.swf')] public static const ITEM_9:Class;

然后,要实例化它,你只需要这样做:
var mySprite:Sprite = new ITEM_9() as Sprite;

使用这个方法并对当前类进行一些聪明的重载以进行外部加载,应该可以让您获得一个单独的swf文件(xml文件可以采用类似方式嵌入)。
然后只需使用发布设置使Flash生成一个.exe文件即可。
与此无关的一点,请返回并接受一些答案以回应其他人的帮助。

2
你可以尝试使用mdm Zinc
Zinc非常强大,它可以让你以不同的方式打包Flash或Flex,并具备许多本地平台钩子。

0

你可以构建一个AIR应用程序。如果你不想它跨平台,你可以使用Windows本地安装程序构建一个AIR应用程序。


不,我不要AIR,我需要Flash的EXE文件。 - coderex
什么是Flash EXE文件?你是在说带有Windows本地安装程序的AIR应用程序吗? - Chunky Chunk
不,我不是在说AIR,我需要Flash EXE(发布) - coderex
OP正在寻找“Flash Projector”。 - Moshe

0

Flash > File > 项目设置 > Windows 投影机。

对于 MAC,选择 MAC 投影机。

如果您要刻录光盘并且需要两个平台工作...一个很好的选择是使用 Toast(如果您正在使用 MAC)...它将隐藏用户不需要看到的文件,并且还会隐藏来自 MAC 和反之亦然的 windows 文件。


+1... "发布设置"。这绝对是官方的方式。 - Chunky Chunk
1
当然这是官方的,但它并没有回答问题! - Adam Harte
根据我的个人经验,Flash将多个.swf文件编译成一个单独的.exe或.app(Mac投影仪)文件...这就是为什么.app/.exe文件比单个.swf文件大得多的原因。但是确实如此,我不知道它究竟是如何将这些多个.swf文件编译在一起的。 - redconservatory

0

有一个名为SWFKit的Windows应用程序,它允许您将SWF和外部文件打包成一个exe文件。我曾经遇到过与你相同的问题,这对我非常有效。不幸的是,您需要付费使用 :( http://www.swfkit.com

希望这可以帮到您,
Will


0

我会按照以下步骤进行:

  1. 创建 Flex 应用程序
  2. 将所有 SWF 和 XML 嵌入该应用程序中
  3. 创建刚创建的应用程序的发布版
  4. 使用独立的 Flash 播放器而不是浏览器打开 SWF 应用程序
  5. 从“文件”菜单中选择“创建投影仪”选项

所有这些步骤将产生一个包含所有 SWF 和 XML 文件的单个 EXE 文件。


0

你可以使用投影仪或创建一个仅限于 Windows 的 AIR 项目。


0

使用 Flajector,忘掉你的烦恼


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接