Flash AS3完全卸载加载的SWF

时间:2013-12-26 10:14:59

标签: actionscript-3 flash

如何完全卸载加载的SWF。

就是这样。我有两个不同的SWF,它们在库中具有相同的movieClip,具有相同的名称和实例......但是......两者都有不同的形状。所以基本上两者都不同,但名称不同。

所以我将first.swf加载到main.swf中,在first.swf包含按钮,将main.swf中加载的命令加载到unloadAndStop()并加载second.swf。但不知何故,second.swf中的对象采用first.swf中的形状。

我打了这个墙。我如何完全卸载first.swf

Thx guys

1 个答案:

答案 0 :(得分:0)

尝试将子swfs(first.swfsecond.swf)加载到当前应用程序域的子应用程序域中({1}}中的Usage C,您还可以找到代码以下文章的样本)。有了这种技术,你就会得到:

  1. first.swfsecond.swf彼此分开的类(所有类)
  2. 卸载swf后卸载垃圾收集的所有类定义
  3. 文章中的AS3:

    var appDomainC:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); 
    
    var contextC:LoaderContext = new LoaderContext(false, appDomainC); 
    var loaderC:Loader = new Loader(); 
    loaderC.load(new URLRequest("module3.swf"), contextC);