我有一个ArtLibrary.swf文件,其中有数百个使用类名称导出的MovieClips。我希望能够在我正在处理的多个不同的Flash文件中使用这些电影,但是我不知道在使用和嵌入命令后如何正确引用它们。
以下作品:
[Embed(source="ArtLibrary.swf", symbol="BirdBodyColor_mc")]
var BirdBodyColor_mc:Class;
myMC:MovieClip = new BirdBodyColor_mc();
addChild(myMC);
在此示例中,我不确定如何引用“主类”中的各个类。
[Embed(source="ArtLibrary.swf")]
var MasterClass:Class;
myMC:MovieClip = new BirdBodyColor_mc();
addChild(myMC.BirdBodyColor_mc);
最佳答案
与其使用SWF,不如使用SWC。要创建SWC,只需进入Flash Pro的发布设置,然后转到Flash标签,然后选择“导出SWC”。 SWC包含SWF和特殊 list ,以及Flash需要了解的有关SWF中类的所有信息。
然后,要在另一个项目中使用SWC,请转至AS3设置(也在发布设置的Flash选项卡中),转到“库路径”选项卡并添加SWC(绝对路径和相对路径都可以正常工作)。
请注意,这仅适用于CS4或Flex(使用Flex,我敢肯定,您可以将SWC拖到您的项目中,但我会对其进行检查)。
现在-如果您想加载SWF并在运行时使用它的 Assets ,那就完全不同了。为了使它正常工作,您需要弄乱Loader类和ApplicationDomain,以便将这些类放入适当的域中。以下是有关此主题的一些不错的信息:
http://www.kirupa.com/forum/showpost.php?p=2123134&postcount=366
关于actionscript-3 - AS3将所有类嵌入或导入外部SWF中,而无需分别引用每个类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1023205/