簡體   English   中英

在不使用flex的情況下加載RSL?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM