是否可以从documentClass文件(.as)生成SWF而无需原始的.fla?

时间:2012-09-14 19:22:23

标签: actionscript-3 flash-builder flash

我从一个旧项目继承了一个Actionscript文件,我被告知可以从中生成一个SWF,虽然我没有相应的FLA文件。

文件中的代码遵循以下形式:

package {

    import flash.display.LoaderInfo;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    // additional import statements

    [SWF(width="640", height="480", frameRate="30", backgroundColor="#FFFFFF")]

    public class MyClass extends Sprite {
        // code, code, code
    }
}

我已经尝试将其引入Flash Builder并使用“作为Web应用程序运行”但我收到了一些我不理解的错误(调用未定义的方法,找不到定义)。

我做了很多AS2编码,但没有那么多AS3和零Flex。我不确定我是否只是在没有相应FLA的情况下,无法更新一些最新的SWF编译方法。

有没有办法将这种类型的文件编译成SWF?或者我正确的方式,但可能只是缺少一些相关的文件?

1 个答案:

答案 0 :(得分:1)

是否可以在没有原始.fla:

的情况下从.as文件生成swf

是, IF 您拥有所有依赖项。

使用flashBuilder并查看所有导入内容时,任何不以flash.mx.开头的内容都是您需要的另一个文件。这包括这些类文件中的所有导入。

此外,许多.fla都使用库中的显示对象。如果是这种情况,则需要将这些导出到另一个swc / swf,然后链接/加载到您的flashBuilder项目。这包括组件('fl'包)。

总结一下:
如果original.fla只是一个链接了文档类的空项目,那么如果您拥有导入的所有必需类文件,那么您将没有问题。

如果原始.fla具有链接或放入时间线的库资源,那么如果您无法获得原始.fla,则会出现问题。


如何在Flash Builder中执行此操作
在Flash构建器中,创建一个新的ActionScript项目。
将所有依赖文件放在刚刚创建的项目的 src 文件夹中 - 保留其文件夹结构/层次结构(包名称表示它期望.as文件相对于src文件夹的文件夹)。

在树状视图中,找到主.as文件(documentClass),右键单击并告诉它它是默认的应用程序文件(如果需要,可以删除创建项目时自动生成的文件 - projectname.as)。

运行项目,它会将swf放在bin(或bin-debug)文件夹中,该文件夹与项目同名。