如果我已经推出了自己的RSL,并且我想在我的纯as3应用程序中使用它,是否有文档或如何执行此操作的示例?
或者我是否需要遍历flex源代码以找出adobe的工程师做了什么?
答案 0 :(得分:4)
这是一个非常棘手的问题,我很害怕。一些指示:
要从外部加载的SWF中获取类,请在应用程序域上使用getDefinition方法,例如
public function loadHandler(evt:Event):void
{
var loaderInfo:LoaderInfo = evt.target as LoaderInfo;
var clazz:Class = loaderInfo.applicationDomain.getDefinition("your.external.class");
}
如果您知道所需类的名称,这将为您提供类定义。
要将类域相互连接(因此应用程序可以针对swc进行编译,但不包括类并在外部加载它们),您需要指定同一安全域的loaderContext。
var loader:Loader = new Loader();
var context:LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
loader.load(new URLRequest("library.swf"), context);
我可以给你的第三个指针是编译器选项“-external-library-path”,用它来指定swc的列表来编译时间检查,但不包括(导致较低的文件大小)。
mxmlc -source-path="dir/src" -external-library-path="dir/lib/framework.swc" --main.swf
抱歉,我无法详细说明,这是一个非常广泛的话题,希望这能让你开始......
答案 1 :(得分:0)
有关livedoc的这个链接可能很有用: Example on how to use ApplicationDomain