[英]loading an RSL without using flex?
如果我已經推出了我自己的RSL,並且我想在我的純as3應用程序中使用它,是否有文檔或如何執行此操作的示例?
或者我是否需要遍歷flex源代碼才能弄清楚adobe的工程師做了什么?
這是一個非常棘手的問題,我很害怕。 一些指示:
要從外部加載的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
對不起,我無法詳細說明,這是一個非常廣泛的主題,希望這能讓你開始....
在livedoc上的這個鏈接可能很有用: 關於如何使用ApplicationDomain的示例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.