我有一部电影由一系列读取 XML 的 SWF 文件组成。有没有办法将其刻录到 CD/DVD 或至少将其转换为“可刻录”格式,例如 AVI、MPEG 或 ISO?目前为了刻录它,我必须做一些时髦的屏幕截图并以这种方式将其录制到 DVD 中。
3 回答
Flash CS3 有一种很好的方式可以将任何 swf(包括那些使用脚本的)导出到视频,但由于某种原因,这仅在导出为 .mov 时可用
在 Flash 中打开您的动画,如果您没有可用的 .fla,则制作一个加载您的 swf 的简单包装器也应该可以工作。然后去文件 -> 导出 -> 导出电影,然后选择 Quicktime。根据您的喜好设置各种繁琐的位,然后 Flash 将尽可能快地逐步浏览您的动画,从而为您节省丢帧的风险和不得不等待 1 fps 捕获的风险。
你的预期目的是什么?您是希望将 Flash 播放作为演示,还是希望它具有交互性,以便用户可以像通常在网站上一样使用它?
如果您只是想让它播放,那么@grapefrukt 提到的方法可能会正常工作。在电影正常播放的情况下,我遇到了一些问题。正如您所提到的,我们已经提出了将文件截屏为电影的最全面的方法。
如果您希望使其具有交互性,那么您可以使用像Zinc这样的程序来创建 Flash 文件的跨平台可执行文件,然后将它和您的 XML 数据作为应用程序刻录到 CD 中。然后,用户将能够运行可执行文件并与您的文件完全交互。
如果您的目标是光盘媒体,则将 XML 嵌入到您的 SWF 中可能会有所帮助。这是一个片段示例——这是使用 JSON 数据,但 XML 文件的工作方式或多或少是相同的。
package ost.panda.map.core {
/// ...
public dynamic class Signatories extends EventDispatcher {
[Embed(source='../build/json/local_all.json',
mimeType='application/octet-stream')]
public static var rawSignatoryJSON:Class;
public static function loadAll():void {
loadFromJSON(JSON.deserialize(String(new rawSignatoryJSON())));
}
/// etc ...
}
} /// package
... 将数据嵌入 SWF 将使 Flash Player 无需多次往返光盘即可读取另一个文件,这在光学媒体的情况下会有所不同。