将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数据实际上只是一个长字符串,因此将字符串数据硬编码为一个变量并正常使用它。