在Flex或纯AcitonScript项目中使用Flash组件

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:在Flex或纯AcitonScript项目中使用Flash组件
  • 本文链接:http://zengrong.net/post/1192.htm


2014-03-10更新:更新FlashCC自带的组件;
2010-12-19更新包含Alert、MenuBar等更多组件的Flash组件
2011-08-21更新:加入Flash CS 5.5 的UI组件编译的SWC,原因见正文。


在纯AS环境下做开发的时候,往往需要一些简单的UI组件支持,例如按钮、复选框等等。这时候就需要选择或者自行开发一套常用的UI组件库,我在Flash&Flex大全中介绍了一些可以用于纯AS环境开发的第三方组件库,但一直没有介绍Flash的组件。现在看来,在纯AS项目中使用Flash的组件,至少有以下三个好处:

  1. 完善的中文文档
  2. 有大量参考资料;
  3. 有丰富的免费皮肤;
  4. 生成的文件较小,只有使用了的组件才会被导出。

至于Flex,它已经有了完善且更加高级的组件库,而且也包含上面1-3条优点,所以采用Flex框架开发,当然还是用Flex组件比较好。这里只是提供一种方法罢了。

Flash组件位于安装目录下的“Common\Configuration\Components\”目录中(Flash CS3则在“zh_cn\Configuration\Components\“)。其中“User Interface.fla”为源文件,只需要用Flash打开这个文件,在发布设置中选中“导出SWC”然后导出,就可以得到一个119KB的SWC文件。将其复制到AS项目的“libs”文件夹即可,也可以直接在Flash Builder中的AS项目的属性中设置“Actionscript构建路径-库路径-添加SWC文件夹/添加SWC“。

Flash CS3/CS4/CS5所带的UI组件是完全一样的。UI组件的源码在“User Interface.fla”的库面板中的“Component Assets/_private/ComponentShim”中,这是一个编译剪辑,因此看不到源码。它们的真实源码在“Common\Configuration\Component Source\ActionScript 3.0\User Interface\”文件夹中,完全由AS3写成。

从CS5开始,由于增加了新的FTE文本引擎和TLF框架,Flash也提供了一个TLFTextField组件。相应的,UIScrollBar.scrollTarget也发生了改变。原来的类型是TextField,现在可以接受TextField和FTETextField。因此,原来提供的SWC中的UIScrollBar组件就不能支持FTETextField。因此这里提供了Flash CS 5.5版本的UI组件。

FlashCS3提供的UI组件编译的SWC下载(不支持FTETextField):

  FlashUI.swc (116.5 KiB, 3,065 hits)
FlashUI组件,可用于纯Actionscript项目和Flex项目。

FlashCS5.5提供的UI组件编译的SWC下载(支持FTETextField):

  FlashUI5.5.swc (124.1 KiB, 1,907 hits)
基于Flash CS5.5中提供的UI组件制作的SWC,可以用于纯AS3项目。

在纯AS3项目中使用,还需要这个SWC提供FTETextField支持:

  tlfruntime.swc (195.2 KiB, 1,745 hits)
提供TLFTextField组件支持。


2014-03-10 更新:

Raymond 同学使用 FlashCC 编译了 几个SWC,放在这里提供给有需要的朋友:

  1. FlashUI_CC.swc 来自于 xxx\Adobe\Adobe FlashCC\Common\Configuration\Components 目录下的User Interface.fla ,发布目标 是FlashPlayer10.3;
  2. Video 来自于同一个目录路径的Video.fla ,同样的发布参数;
  3. tlfRuntime_cc.swc 和 textLayout.swc 来自于 xxx\Adobe\Adobe FlashCC\Common\Configuration\TLFConversion 目录下 Adobe 已经编译好的SWC文件。用于Text Layout Framework支持。

  FlashCCUI (780.2 KiB, 1,012 hits)