天天看點

常用的AS3開源類庫

GreenShock Tween Platform

[url=http://blog.greensock.com/]

[color="#d66000"]GreenShock Tween[/color]

[/url]

是我最常用的一個功能強大的Tween類庫,詳細可以見

[url=http://kevincao.com/2009/05/greensock-tweening-platform-v11-beta/]

[color="#d66000"]我之前的介紹[/color]

[/url]

。但是要注意這個類庫對商業項目并不是免費使用的,可以替代的選擇有很多:GTween,Tweener等等。

Bulk Loader

[url=http://code.google.com/p/bulk-loader/]

[color="#d66000"]Bulk Loader[/color]

[/url]

解決的是AS3中各種不同類型檔案的加載問題,實作了對各種資料類型統一的加載接口,調用非常簡便。此外還具有有批量加載、優先級設定等進階功能。

Gaia Framework

[url=http://gaiaflashframework.com/]

[color="#d66000"]Gaia[/color]

[/url]

是一套完整的互動網站制作架構。它定義了網站的基本資料流,采用xml進行結構配置和資源管理。各個頁面之間以transitionIn,transitionInComplete,transitionOut,transitionOutComplete等步驟串聯在一起。Gaia強大的自定義和事件偵聽功能使使用者可以很友善的更改網站邏輯。此外Gaia還整合了

[url=http://www.asual.com/swfaddress/]

[color="#d66000"]SWFAddress[/color]

[/url]

,GreenShock Tween,采用MVC,Singleton等設計模式和業界流行的最佳解決方案(Best Practice)。Gaia還提供了配套的Flash插件面闆,能夠很直覺的幫助使用者快速配置網站。

抽象是一件很有技術含量的工作。做了這麼多Flash網站,很清楚每次搭架構時的無奈。由于需求的多變,哪些是架構層面的核心需求,哪些是業務邏輯需求,甚至哪些是效果表現需求,常常混雜在一起,結果就是可重用性極差,每次都等于重新開始。Gaia最偉大的地方就是厘清了這幾層關系,把屬于網站内部流程的部分抽象出來,并建立了強大的可擴充的接口。我們隻需要在這層接口上再去考慮業務邏輯和表現層的開發就可以了,大大減輕了工作量。當然,Gaia隻是一種解決方案,雖然科學但并不完美。我在使用中就曾發現:為了配合它的内部流程,會造成無意義的swf子檔案增多的現象。

Gaia提供的機制最适用于多頁面切換的Minisite,稍加擴充就可以應付大多數的情況,大家可去官網左邊的Gallery欄目看看各式案例。類似的Framework還有日本人開發的

[url=http://progression.jp/en/]

[color="#d66000"]Progression[/color]

[/url]

MinimalComps

[url=http://code.google.com/p/minimalcomps/]

[color="#d66000"]MinimalComps[/color]

[/url]

是我的輕量化元件首選。開發者是著名的

[url=http://www.bit-101.com/blog/]

[color="#d66000"]bit-101[/color]

[/url]

,最近剛剛更新了幾個新的功能,還提供了排版工具

[url=http://www.bit-101.com/MinimalDesigner/]

[color="#d66000"]MinimalDesigner[/color]

[/url]

。這套元件完全獨立,不依賴于Flash内部的UIComponent,最大的特點是簡單夠用。可以在Flash IDE和Flex下使用。但是不支援中文,我隻是用它來輔助調試參數。

AS3 Data Structure

這套api

[url=http://kevincao.com/2009/02/as3-data-structures-for-game-developers-as3ds/]

[color="#d66000"]之前也有介紹過[/color]

[/url]

,靈活運用資料結構能夠大大提升開發效率。

Casa Lib

[url=http://casalib.org/]

[color="#d66000"]Casa Lib[/color]

[/url]

是一套非常完整的framework,幾乎涵蓋了所有在開發中常見的擴充需求。我最常用的是其util包下的工具類,之前也有介紹過很友善的

[url=http://kevincao.com/2009/05/casa-lib/]

[color="#d66000"]LibrayManager[/color]

[/url]

。類似的大而全的開發架構還有

[url=http://codeendeavor.com/guttershark]

[color="#d66000"]Guttershark[/color]

[/url]

[url=http://code.google.com/p/sekati/]

[color="#d66000"]Sekati API[/color]

[/url]

等。這類屬于開發架構性質的類庫内部本身的繼承或者複合關系就比較複雜,開發者在使用時需要注意評估使用它們帶來的隐性成本。當然你也可以像我一樣,隻使用類庫中的一些輔助工具類。此外,學習架構的編寫對提升程式設計能力也是大有裨益的。

Papervision3D (+ Flint Particle System, AS3DMod, ThreeDee)

Papervision3D的強大已經不用我多介紹,現在的

[url=http://www.thefwa.com/]

[color="#d66000"]FWA[/color]

[/url]

已經基本是3D引擎的天下了。除了自身所帶的功能以外,大量第三方的輔助類庫或插件也起到了錦上添花的作用,是以我把它們并作一條。做粒子效果可以考慮

[url=http://code.google.com/p/flint-particle-system/]

[color="#d66000"]Flint[/color]

[/url]

,變形修改器可以用

[url=http://code.google.com/p/as3dmod/]

[color="#d66000"]AS3DMod[/color]

[/url]

[url=http://labs.zavoo.com/?p=170]

[color="#d66000"]ThreeDee[/color]

[/url]

提供的擴充功能也很不錯。至于實體引擎那也很多,隻是我目前還沒有涉及,這裡也不多說了。

FLARToolKit (+ FLARManager)

FLARToolKit是近期大熱的Augmented Reality (AR)的幕後英雄,詳細可以看

[url=http://kevincao.com/2008/12/more-on-augmented-reality/]

[color="#d66000"]我之前的一篇介紹[/color]

[/url]

。而為了能夠更友善的開發AR程式,

[url=http://words.transmote.com/wp]

[color="#d66000"]transmote[/color]

[/url]

開發了

[url=http://words.transmote.com/wp/flarmanager/inside-flarmanager/]

[color="#d66000"]FLARManager[/color]

[/url]

作為輔助,也提供了事件接口,多标記檢測等增強功能。

寫在最後,真的非常感謝那些默默奉獻的無私的開發者,有了你們,網際網路世界才越發生動精彩。作為一個創意開發人員,應該時刻讓自己手中的這些武器與世界水準接軌。能夠自己動手開發固然是好事,但是站在巨人肩膀上又有何妨呢。大家又有何常用的類庫呢,歡迎留言讨論。

本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/5249.html

繼續閱讀