在Flex或纯AcitonScript项目中使用Flash组件
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. 有[完善的中文文档](http://help.adobe.com/zh_CN/Flash/CS5/AS3LR/index.html); 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):
FlashCS5.5提供的UI组件编译的SWC下载(支持FTETextField):
在纯AS3项目中使用,还需要这个SWC提供FTETextField支持:
2014-03-10 更新:
Raymond 同学使用 FlashCC 编译了 几个SWC,放在这里提供给有需要的朋友:- FlashUI_CC.swc 来自于
xxx\Adobe\Adobe FlashCC\Common\Configuration\Components
目录下的User Interface.fla ,发布目标 是FlashPlayer10.3; - Video 来自于同一个目录路径的Video.fla ,同样的发布参数;
- tlfRuntime_cc.swc 和 textLayout.swc 来自于
xxx\Adobe\Adobe FlashCC\Common\Configuration\TLFConversion
目录下 Adobe 已经编译好的SWC文件。用于Text Layout Framework支持。
- 文章ID:1192
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/1192/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。