Flash 批量生成SWF文件

Flash 批量生成SWF文件,flash,Flash,我们需要生成大约8000个几乎相同的SWF文件,其中文本略有不同。我知道FlashVar,但不幸的是,我们无法控制这些文件的发布,也无法传递FlashVar。理想情况下,我正在寻找的是,我们有一个flash设计师拿出了一个好看的模板,在文件中有一个占位符文本或元素。然后,我们可以多次调用命令行实用程序来生成8000个文本副本 我已经找了一整天了,没有找到任何可以帮助我们的东西。诚然,我不是一名flash开发人员,但这似乎很简单。为什么MXMLC不能工作 目标SWF格式是什么?如果是8或更低,您可

我们需要生成大约8000个几乎相同的SWF文件,其中文本略有不同。我知道FlashVar,但不幸的是,我们无法控制这些文件的发布,也无法传递FlashVar。理想情况下,我正在寻找的是,我们有一个flash设计师拿出了一个好看的模板,在文件中有一个占位符文本或元素。然后,我们可以多次调用命令行实用程序来生成8000个文本副本

我已经找了一整天了,没有找到任何可以帮助我们的东西。诚然,我不是一名flash开发人员,但这似乎很简单。

为什么MXMLC不能工作

目标SWF格式是什么?如果是8或更低,您可以尝试将MTASC与SWFMill结合使用(代码和图形采用文本源文件)

SWF规范是开放的,有几个解析器可以对SWF文件进行不同程度的分析。如果只是替换文本字段的内容,那么可能只需要重写一个包含文本字段的标记并更新文件头中的总文件大小

如果您需要实时执行此操作,这实际上取决于您的SWF包含的代码量以及需要重新编译的代码量,但通常Haxe编译器比MXMLC快得多,对于小文件,可以根据请求编译它们,而不是预编译所有这些文件并按需提供服务(取决于什么更昂贵、编译所需的时间或服务器上的空间)

编辑:比如说,如果您想使用MXMLC,您可以有如下内容:

#!/usr/bin/env bash

for i in {0..8000}
do
    cp ./ClassWithText.template ./ClassWithText.as
    sed -i s/%pattern%/counter${i}/g ./ClassWithText.as
    mxmlc ./ClassWithText.as -o ./result-${i}.swf
done
注意:您可能无法使mxmlc全局可访问,因为它有一些硬编码的路径,因此,您可以使用编译器的绝对路径,但想法应该是相同的

然后,假设您在ClassWithText.template文件中有以下文本:

var myText:String = "%pattern%";
它将转变为:

var myText:String = "counter0";

然后编译“counter1”,然后编译等等。

正如wvxvw所说,您可以使用,另一种可能是使用脚本编写Flash IDE。

MXMLC是大多数Flash开发人员都熟悉的东西吗?正如我所说,我对Flash一无所知,但我知道我们需要8000个物理SWF文件,但文本略有不同。我正在阅读e docs for MXMLC,但对flash开发一无所知,这是非常陌生的。明天将联系我们地区的flash开发人员,但希望在我这样做之前确保我知道我在寻找什么。谢谢你的答案和示例。我将尝试找到能帮我们解决这一问题的人。