将SWF和其他资源合并到单个SWF文件中

时间:2020-03-05 18:54:54  来源:igfitidea点击:

我们有一个程序可以生成几个SWF文件,一些CSS和XML文件,所有这些文件都需要部署才能正常运行。

是否有用于将所有这些文件包装到单个SWF文件中的程序或者技术?

解决方案

回答

我认为我们可以将它们拖到主SWF库中并对其进行引用。至少我们可以确定其他SWF,不确定CSS和XML。

回答

我们可以对所有这些文件使用flex sdk和[EMBED]标记,就xml和CSS而言,我们只需在flex产生的包装swf中对其进行编译。它的工作原理是拥有一个"骨架" mxml文件,该文件将与css和xml一起注入,然后嵌入swf文件。

回答

如果我们使用Flex编译器(mxmlc或者FlexBuilder),则可以嵌入SWF文件并在运行时创建它们,或者多或者少像创建任何显示对象一样:

package {

  public class Assets {

    [Embed(source="another.swf")]
    public var another : Class;

  }

}

上面的代码嵌入了文件another.swf,并使其可以在另一个SWF中创建,如下所示:

package {

  import flash.display.Sprite;

  public class MyFancySite extends Sprite {

    public function MyFancySprite( ) {
      var theOther : DisplayObject = new Assets.another();

      addChild(theOther);
    }

  }

}

CSS,XML和任何其他文件都可以类似的方式嵌入。描述如下:http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html

回答

使用flex轻松嵌入它们是一个不错的方法,如果听起来并不有趣,那么可以考虑一下XML和CSS数据实际上只是一个长字符串,因此将字符串数据硬编码为一个变量并正常使用它。