2016-03-03 49 views
0

我創建了一個Flex應用程序,我想以這樣的方式來使用第三方庫(SWC),其方式鏈接的SWC外部

  1. 我不會有包括第三方的SWC我的swf在編譯 時間。 (我不想讓swc成爲我的swf的一部分)
  2. 最終用戶將擁有我的swf和第三方swc。他/她可以根據需要鏈接這兩個
  3. 在我的應用程序中,只有在最終用戶決定使用第三方swc時,使用/導入第三方庫的代碼纔會起作用,否則將被忽略。

基本上,我想有一個可選的動態(運行時)鏈接到本地​​存儲在用戶端的SWC。如果swc可用,我的swf應該可以使用它,否則它不需要。

可能嗎?

回答

0

我不確定SWC,但這是我如何使用SWF來做的。 請注意,我是從不同地方複製的代碼,所以你可能需要微調它

 var the_cls:Class; 

     // First, load SWF with classes: 
     var request:URLRequest = new URLRequest(u); 
     var loader:Loader = new Loader(); 

     loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function (e:Event){ 
      // then get class from the file, you can do it for few classes 
      the_cls = e.target.applicationDomain.getDefinition("my_ldd_class_name") as Class; 
     }); 
     loader.load(request, new LoaderContext(false, ApplicationDomain.currentDomain)); 



     // then use class in your application: 
     the_obj = new the_cls(); 
     the_obj.the_func(); 
+0

謝謝你的回覆。你能告訴我如何在運行時使用swf來做到這一點嗎? –