Actionscript 3 闪存中的单swf预加载包装

Actionscript 3 闪存中的单swf预加载包装,actionscript-3,flash,preloader,Actionscript 3,Flash,Preloader,我有一个.swf,我想为它创建一个预加载程序。最后,我想要一个结合了预加载程序和content.swf的文件 我在Flash预加载程序上找到的每个教程都提供了以下两个选项之一: 在预加载程序包装中使用URLRequest加载外部内容.swf。这不起作用,因为我不想要两个.swfs 一个“单一swf”解决方案,如适用于您在FlashIDE中创建的资产。我以为我很容易就能走这条路,但我遇到了麻烦。我无法使用FlashIDE导入我的content.swf。我可以使用这样的嵌入标记: [Embed(so

我有一个.swf,我想为它创建一个预加载程序。最后,我想要一个结合了预加载程序和content.swf的文件

我在Flash预加载程序上找到的每个教程都提供了以下两个选项之一:

  • 在预加载程序包装中使用URLRequest加载外部内容.swf。这不起作用,因为我不想要两个.swfs

  • 一个“单一swf”解决方案,如适用于您在FlashIDE中创建的资产。我以为我很容易就能走这条路,但我遇到了麻烦。我无法使用FlashIDE导入我的content.swf。我可以使用这样的嵌入标记:

    [Embed(source="content.swf")]
    private var MyContent:Class;
    
    但是看起来这个嵌入的内容是在第一个帧上导出的,所以我的预加载程序只有在content.swf加载之后才会出现。我猜是这样的。有什么想法吗

  • 但似乎在第一帧中导出了此嵌入内容

    您完全正确,默认情况下,所有
    Ebmed
    都在第一帧中嵌入,但mxmlc通过metatag在第一帧中创建两个带有预加载程序的帧swf来提供解决方案:

    [Frame(factoryClass="Preloader")]
    

    你可以在这里找到分步指南。

    那篇文章似乎过时了。我尝试了它所建议的一切,但都无济于事。。。有没有可能从那时起情况发生了变化?更具体地说,我可以使用mxlc进行编译,但我遇到了很多运行时错误,比如“找不到类mx.core::MovieClipLoaderAsset”。没有,框架元标记仍然可以正常工作,我在所有项目中都使用它。可能我刚才发现的这个链接更接近你需要得到的结果。关于您的错误,我似乎有些classed没有包含在内,但是mxmlc检查Frame标记,并在第二个框架中包含所有使用类,因为它根本不是第一个框架(我确信至少有10个项目使用这种加载技术)。您的项目是纯AS3还是包含mxml文件?我尝试了您提供的其他链接,但遇到了相同的问题。我有一个App.as文件,我将[Embed(source=“content.swf”)]放入其中,这就是引发错误的原因。我猜可能是你的App.as是你项目的实际主类?