如何在FLASH CS5开发组件与FLEX协同开发

FLASH中制作组件SWC,在FLEX应用此SWC
1.使用工具 FLASH CS5 +  FLASH Builder 
2.使用Flash Professional创建动画和内容将比使用Flex更为方便。
3.问题
Flex 中的 UI元素 大都继承自 UIComponent类
UIComponent > FlexSprite> Sprite >DisplayObjectContainer>InteractiveObject >Displayobject
Flash 中的架构 (Sprite类的继承关系)
MovieClip > Sprite > DisplayObjectContainer > InteractiveObject >Displayobject
Flex 中无法直接使用Flash 中的MovieClip元件。
4.方法1--FLASH = MC类绑定MovieClip类直接导出SWC
               FLEX   = 直接放入LIB文件夹使用  /  在项目中加入SWC存放的路径Flex Project Menu-> Properties->Flex Build Path->Library Path  
               FLEX使用时封装一次。如:SWC里有组件 Test;
                import mx.core.UIComponent;
private var ui:UIComponent;
private var test:Test;
private function init():void {
ui = new UIComponent();
test = new Test();
ui.addChild(test)
addElement(ui);
}
方法2--FLASH  =  使用将元件转化为FLEX组件工具(Flex Component Kit) 在Library中选择Test元件并且选择命令 > 将元件转化为FLEX组件,然后FlexComponentBase SWC将被添加至该库。
  • 注:如果你的符号没有赋给它的自定义类,则到这一步你完成任务了。 然而,因为你的符号具有赋给它的自定义类,所以你需要在Flash Builder中更新该component类以便将其扩展名改变为 mx.flash.UIMovieClip以替代标准的flash.display.MovieClip。这是该命令试图完成的任务,但当你已经在Flash Builder中对其进行了定义时,它不能指派基类。 可以采用折中方案对你的脚本进行简单的更改。

  • 返回Flash Builder,将Test类的import语句更改为下面语句:
    import mx.flash.UIMovieClip; 将 extends 关键字后面的类名从MovieClip更改为UIMovieClip
    public class Character extends UIMovieClip

    FLEX  =  使用和方法1一样,只是不用再封装一次。
    如果要建类包,这个时候可以建类包,然后把类拖入包中,再次发布SWC,(不知为什么,我一开始就建类包,总是出错?)

    参考文章:http://www.adobechinadeveloper.com/Newsletter/June2010/Essential_the_Articles/animation_flash_fbuilder_04.html

  • 你可能感兴趣的:(UI,Flex,Flash,import,character,library)