如何在Flex中使用UIComponent / Flash

时间:2009-10-09 06:39:15

标签: flex flash flex3 components

我是Flash / Flex新手。   我想使用我在Flash中创建的组件扩展fl.core.UIComponent。我如何在Flex中使用它?我只是将其导出为swc,还是必须使用Flash Flex 3套件将其转换为UIMovieClip。这听起来不对。

我希望通过几个简单的步骤来描述这个过程。 谢谢 Sanoran

2 个答案:

答案 0 :(得分:1)

您可以将文件发布为.swf并使用SWFLoader加载它,只需记住路径相对于您的运行/调试目录。

我的理解是swc文件通常是库文件,而不是可视组件,因为您希望在编译时(swc)而不是在运行时(swf)包含库。

        var loader = new SWFLoader();

         // set autoload to false just so we KNOW when it loads. Also prevents
         // us from accidently loading it twice by calling load() later
         loader.autoLoad = false;
         loader.addEventListener(Event.INIT, function (nt:Event) {
             // Remove event listener so can be garbage collected
             event.currentTarget.removeEventListener(event.type, arguments.callee);  
             // note we can the loader, rather than
             // loader.content
             someIVisualElementContainer.addElement(loader);

         });

         // relative to bin-debug or bin-release
         loader.source = "movie.swf";

        loader.load();

答案 1 :(得分:0)

只需将.as文件导入您的Flex应用程序即可。使用rawChildren.addChild代替普通addChild将其添加到显示列表中,因为flex会覆盖默认的addChild方法,只接受mx.core.UIComponent及其派生类。

更新:您不能在flex中使用FLA,因此如果您的组件不仅仅是扩展fl.core.UIComponent的AS类,您应该将其导出到SWC或在运行时将相应的SWF加载到flex应用程序。