2

我已经使用加载器组件在我的应用程序外部加载了一个 swf。它被加载到我的加载器的应用程序域中。我在那个 swf 中有一个类,我想从中扩展和覆盖一些函数。有可能吗?这是一些解释我想要的代码(当然,它是完全不正确的并且不起作用):

public var ClassFromLoadedSwf:Class = ApplicationDomain.currentDomain.getDefinition("path.to.needed.class") as Class;
public class MyClass extends ClassFromLoadedSwf
{
    override protected function initMovie() : void
    {
         //function logic goes here
    }
}

谢谢你的回答,对不起我的英语不好。

4

1 回答 1

8

不,你不能。基本上你不明白 的意思ApplicationDomain。使用加载器和应用程序域,您只需在运行时将一些代码合并到您的 SWF。在它到达运行时状态之前,它不能被访问。所以在编译时你不能做你现在想做的事情。但是您可以尝试使用 SWC 而不是 SWF。您只需将其包含在您的项目库中即可。您将能够在编译时访问所有类。尝试阅读这篇文章。它将帮助您理解 SWC 的含义。

于 2012-08-07T12:14:37.937 回答