是否可以使用服务器端技术更改 SWF 中变量的值,然后保存该 SWF 的新版本


Can I use server-side technology to alter the value of a var in a SWF and then save a new version of that SWF?

概述:

我有一个 SWF 横幅广告模板,它从我开发的平台加载 JSON,然后循环浏览该 JSON 中指定的一些产品。每个产品都由您的标准标题、价格和图片组成。

在平台上,用户可以通过一些UI工具修改JSON提要,例如图像上传,标题更改等。

完成此操作后,他们可以保存和预览广告。预览是嵌入在当前页面上的 SWF 文件,其中包含一些引用他们刚刚创建的 JSON 位置的 FlashVar。

请求:

用户希望能够存档他们在本地创建的所有版本(作为驱动器上的 SWF)。

我提供了一些解决方案,例如:

  • 下载一个包含 HTML 页面的捆绑包,其中 SWF 嵌入了 HTML 中定义的相应 FlashVar(这很容易)。
  • 下载一个捆绑包,其中包含与 SWF 位于同一目录中的 XML 文档,SWF 可以加载该文档(这是 SWF 的略微更改版本),并从中获取 JSON URL。

不幸的是,他们正在推动下载单个SWF,他们可以将其保存为封装文件。这个想法是,这消除了大量的文件,以及将组件放置在错误目录中的能力等。

问题:

我需要使用 PHP(如果可能)执行以下操作:

  1. 创建 SWF 模板的副本。
  2. 将复制的 SWF 中包含 URL 的变量的值更改为相应的存档 JSON URL。
  3. 保存该版本,然后开始下载。

这可能吗?如果是这样,如何?

我听说过一些公司使用mxmlc编译器来封装在服务器端创建自定义SWF的整体构建。

这已被用于动态构建 SWF,否则这将需要大量资源负载。

方法:

  1. PHP 脚本将更改 ActionScript 文件,设置变量和[Embed]资源。

  2. PHP 脚本将调用mxmlc命令行编译器来构建 SWF,本质上与 Flash Builder 编译纯 ActionScript 项目相同。

也许ANT任务可以自动化构建。

引用:

  • 使用 mxmlc 和 "exec" 从 php 编译 swf - 加载配置文件,但在浏览器
    中没有 swf
  • http://www.senocular.com/flash/tutorials/as3withmxmlc/
  • http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ffd.html