0

我有“Question.swf”,它是从“Question.fla”创建的。请注意,Question.fla 没有与之关联的文档类。(请注意,这是遗留内容,“Question.swf”有超过 14,000 个变体;更改所有这些不是一个可行的选择。)

现在我有了我的主 Flash 应用程序,它在运行时加载到 Question.swf 中。我知道 Question.swf 有一个自动创建的“文档类”,它代表 SWF 的整个“阶段”(并且它被命名为“MainTimeline”)。我希望此应用程序能够实例化该 Question.swf 文档类的多个实例......我该怎么做?

自 2006 年以来,我一直在使用 Flash/AS3(我非常熟悉加载/使用外部内容、ApplicationDomain 等),但我发现我不知道该怎么做!

我尝试过但没有奏效的事情包括使用 hasDefinition("Question_fla.MainTimeline") 查询相关的 ApplicationDomain - 这会返回 false - 以及在我的 loader.content 对象上运行 getQualifiedClassName() - 这只会返回 MovieClip。

4

1 回答 1

1

我不确定如何复制 Loader 的主要内容。但是,一个合理的解决方法可能是加载 SWF 字节一次并从这些字节创建多个加载器:

  1. 使用 URLLoader 加载 SWF 字节:

    var urlloader : URLLoader = new URLLoader();
    urlloader.load(new URLRequest("your url here"));
    
  2. 加载后,使用字节实例化新的显示对象:

    var loader : Loader = new Loader();
    loader.loadBytes(urlloader.bytes);
    
  3. 在显示列表(或加载程序本身)上使用加载的加载程序的 loader.content 显示对象。

于 2013-05-08T22:57:48.593 回答