八个我最常用的AS3开源类库(转)
来源:http://kevincao.com/2009/09/8-as3-lib/
GreenSock Tween Platform
GreenSock Tween是我最常用的一个功能强大的Tween类库,详细可以见我之前的介绍。但是要注意这个类库对商业项目并不是免费使用的,可以替代的选择有很多:GTween,Tweener等等。
Bulk Loader
Bulk Loader解决的是AS3中各种不同类型文件的加载问题,实现了对各种数据类型统一的加载接口,调用非常简便。此外还具有有批量加载、优先级设置等高级功能。
Gaia Framework
Gaia是一套完整的互动网站制作框架。它定义了网站的基本数据流,采用xml进行结构配置和资源管理。各个页面之间以transitionIn,transitionInComplete,transitionOut,transitionOutComplete等步骤串联在一起。Gaia强大的自定义和事件侦听功能使用户可以很方便的更改网站逻辑。此外Gaia还整合了SWFAddress,GreenShock Tween,采用MVC,Singleton等设计模式和业界流行的最佳解决方案(Best Practice)。Gaia还提供了配套的Flash插件面板,能够很直观的帮助用户快速配置网站。
抽象是一件很有技术含量的工作。做了这么多Flash网站,很清楚每次搭架构时的无奈。由于需求的多变,哪些是架构层面的核心需求,哪些是业务逻辑需求,甚至哪些是效果表现需求,常常混杂在一起,结果就是可重用性极差,每次都等于重新开始。Gaia最伟大的地方就是厘清了这几层关系,把属于网站内部流程的部分抽象出来,并建立了强大的可扩展的接口。我们只需要在这层接口上再去考虑业务逻辑和表现层的开发就可以了,大大减轻了工作量。当然,Gaia只是一种解决方案,虽然科学但并不完美。我在使用中就曾发现:为了配合它的内部流程,会造成无意义的swf子文件增多的现象。
Gaia提供的机制最适用于多页面切换的Minisite,稍加扩展就可以应付大多数的情况,大家可去官网左边的Gallery栏目看看各式案例。类似的Framework还有日本人开发的Progression。
MinimalComps
MinimalComps是我的轻量化组件首选。开发者是著名的bit-101,最近刚刚更新了几个新的功能,还提供了排版工具MinimalDesigner。这套组件完全独立,不依赖于Flash内部的UIComponent,最大的特点是简单够用。可以在Flash IDE和Flex下使用。但是不支持中文,我只是用它来辅助调试参数。
AS3 Data Structure
这套api之前也有介绍过,灵活运用数据结构能够大大提升开发效率。
Casa Lib
Casa Lib是一套非常完整的framework,几乎涵盖了所有在开发中常见的扩展需求。我最常用的是其util包下的工具类,之前也有介绍过很方便的LibrayManager。类似的大而全的开发框架还有Guttershark和Sekati API等。这类属于开发框架性质的类库内部本身的继承或者复合关系就比较复杂,开发者在使用时需要注意评估使用它们带来的隐性成本。当然你也可以像我一样,只使用类库中的一些辅助工具类。此外,学习框架的编写对提升编程能力也是大有裨益的。
Papervision3D (+ Flint Particle System, AS3DMod, ThreeDee)
Papervision3D的强大已经不用我多介绍,现在的FWA已经基本是3D引擎的天下了。除了自身所带的功能以外,大量第三方的辅助类库或插件也起到了锦上添花的作用,所以我把它们并作一条。做粒子效果可以考虑Flint,变形修改器可以用AS3DMod,ThreeDee提供的扩展功能也很不错。至于物理引擎那也很多,只是我目前还没有涉及,这里也不多说了。
FLARToolKit (+ FLARManager)
FLARToolKit是近期大热的Augmented Reality (AR)的幕后英雄,详细可以看我之前的一篇介绍。而为了能够更方便的开发AR程序,transmote开发了FLARManager作为辅助,也提供了事件接口,多标记检测等增强功能。
写在最后,真的非常感谢那些默默奉献的无私的开发者,有了你们,互联网世界才越发生动精彩。作为一个创意开发人员,应该时刻让自己手中的这些武器与世界水平接轨。能够自己动手开发固然是好事,但是站在巨人肩膀上又有何妨呢。大家又有何常用的类库呢,欢迎留言讨论。