2016-03-03 44 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来做到这一点吗? –