Flash 中的单 swf 预加载器包装器
Posted
技术标签:
【中文标题】Flash 中的单 swf 预加载器包装器【英文标题】:Single-swf preloader wrapper in Flash 【发布时间】:2013-02-02 10:16:06 【问题描述】:我有一个 .swf,我想为其创建一个预加载器。最后,我想要一个结合了预加载器和内容 .swf 的文件。
我可以在 Flash 预加载器上找到的每个教程都提供以下两种选择之一:
在预加载器包装器中使用 URLRequest 加载外部内容 .swf。这不起作用,因为我不想要两个 .swf。
类似this one 的“单一瑞士法郎”解决方案适用于您在 Flash IDE 中创建的资产。我以为我可以很容易地走这条路,但我遇到了麻烦。我无法使用 Flash IDE 导入我的内容 .swf。我可以像这样使用嵌入标签:
[Embed(source="content.swf")]
private var MyContent:Class;
但似乎这个嵌入的内容是在第一帧导出的,所以我的预加载器只出现在 内容 .swf 被加载之后。我猜这是沿着这些路线的东西。有什么想法吗?
【问题讨论】:
【参考方案1】:但似乎这个嵌入的内容是在第一帧导出的
您是绝对正确的,默认情况下所有Ebmed
都嵌入在第一帧中,但 mxmlc 通过元标记在第一帧中创建带有预加载器的两个帧 swf 来提供解决方案:
[Frame(factoryClass="Preloader")]
您可以在这里找到分步指南http://www.bit-101.com/blog/?p=946。
【讨论】:
那个帖子似乎已经过时了。我尝试了它建议的一切都无济于事......从那时起事情可能发生了变化吗? 更具体地说,我可以使用 mxlc 进行编译,但是会出现很多运行时错误,例如“找不到类 mx.core::MovieClipLoaderAsset。” 不,Frame 元标记仍然可以正常工作,我在所有项目中都使用它。可能是我刚才找到的这个链接更接近你需要得到blog.yoz.sk/2011/01/using-metadata-frame-for-preloader的结果。你的错误呢,我似乎没有包含一些分类,但 mxmlc 检查 Frame 标记并在第二帧中包含所有使用类,因为根本不是第一帧(我是至少有 10 个项目使用这种加载器技术来确定这一点)。你的项目是纯 AS3 还是包含 mxml 文件? 我尝试了您提供的其他链接,但遇到了同样的问题。我有一个 App.as 文件,我将 [Embed(source="content.swf")] 放入其中,这就是引发错误的原因。我的猜测是,您的 App.as 可能是您项目的实际主类?以上是关于Flash 中的单 swf 预加载器包装器的主要内容,如果未能解决你的问题,请参考以下文章