官方在線幫助(沒標英文的都是中文)
Flash 3D(FlashPlayer11加入原生3D後的更多資料)
Flash物理引擎
Flash遊戲引擎(參考來源:1|2)
- PixelBlitz Engine這個引擎提供位圖管理、碰撞檢測、像素字體、遊戲相關數學計算、鍵盤和鼠標管理等等功能。但它是一個未完成版本,它的開發者如今都去開發Flixel Power Tools了。
- flixel
這是一個全位圖引擎。所謂全位圖,就是遊戲場景中全部元件最終均繪製在一個位圖對象上,在遊戲過程當中每幀進行重繪。也正由於如此,此引擎很是擅長處理同屏同時出現大量的遊戲元件,其高效的渲染會讓你激動不已。當你須要建立2D卷軸遊戲或者場景中須要大量運動元素的遊戲,Flixel引擎是你的首選。
- 特性:
- 採用QuadTree的對象鏈,高效的碰撞檢測
- 位圖動畫Sprite
- 經過文本及圖片建立Tiles地圖
- 簡單易用的粒子系統
- 高效的滾屏
- 自定義的鼠標光標
- 方便的debug顯示終端
- 典型案例:
- Bold Pixel engine
以copyPixels方法寫的位圖引擎。裏面實現了緩存BitmapData貼圖管理等優化,不過沒有對不在顯示區域的對象進行過濾,以及其它優化。
- FlashPunk(要fanqiang才能訪問)
FlashPunk一樣是個針對位圖的開源引擎。它具備清晰的框架以及建立遊戲須要的動畫、碰撞等類庫,讓開發者更專一與遊戲的設計與測試中。
- 其主要特性包括:
- 相對獨立與固定的幀頻時間步長控制
- 像素、矩形區及網格的碰撞檢測
- 運動tweening
- sorted的渲染列表,方便深度排序
- 粒子系統
- 典型案例:
- pushbuttonengine
簡單介紹,Pushbutton引擎的特點有不少,包括創建遊戲的模塊片斷,而不是總體式的應用;使用第三方類庫更加容易;提供核心功能好比資源管理器、日誌管理、調試檢測、序列號、時間管理、全局命名對象等等;相關的組件包括基於Box2D的物理引擎、Rendering2D引擎、遊戲經常使用的健康值組件、團隊組件、狀態機組件、貼圖系統、路徑查找類庫、基本的網絡聯機和通信服務; 未來會提供編輯器,以及網絡聯機組件,這兩個組件都是收費組件; 該遊戲引擎的官方網站還列出了組件商店的介紹,做爲該組織出售組件和廣大開發者出售組件的場所,這不失爲一個好的商業模式。典型案例:
- mecheye-as3-libraries
做者可能已經放棄開發了,zrong不推薦使用
2.5D引擎
下面是一些2.5D遊戲引擎。所謂2.5D,咱們也稱之爲Isometric,也就是遊戲視角採起傾斜視角(如斜45度角等),以平面的方式展示固定視角的3D效果。目前不少網頁遊戲均採用2.5D的方式。須要注意的是,前面爲你們介紹的位圖2D引擎一樣能夠用來開發2.5D遊戲。運用這些引擎,你能夠把一些煩人的2.5D相關的座標轉換交給引擎處理,專一在你的遊戲邏輯及設計上。php
- Pixas是一個開源ActionScript引擎,它可以使程序員利用純粹的Actionscript3來構建等距像素Flash應用程序。利用Pixas你能夠很容易的將等距像素元素,好比塊、立方體、錐體和圖層,添加到你的應用程序中。
- AS3 ISO LIB
As3isolib是一個基於ActionScript 3的 Isometric庫,開發者運用它能夠方便的開發2.5D的遊戲或應用。
- 主要特性:
- 簡易的2.5D場景建立方式
- 方便的於各類緩動(tween)引擎交互
- 加強的2.5D元件深度排序
- 場景顯示渲染的性能優化
- 典型案例:
- OpenSpace
OpenSpace是一個很是不錯的引擎,用戶能夠很是快速方便的建立2.5D遊戲。配合該公司的另一款通訊服務器SmartFoxServer,能夠搭建多人實時交互的虛擬場景。
- 其特色包括:
- 完善的地圖編輯方式
- 可縮放的場景
- 自定義地圖滾屏方式
- 自定義的遊戲角色
- 地圖自動尋徑
- 典型案例:
- TheoWorlds
TheoWorlds 除了包含Iso引擎以外,還包含聊天、地圖編輯器等組件,能夠幫助開發者快速的開發2.5D的虛擬世界。
- 主要特性有:
- 8方向的運動角色
- 自定義角色形象
- 自定義角色動做
- 快速尋徑及自動滾屏
- 與SmartFox Server及ElectroServer等第三方即時通訊服務器通訊
- 聊天曆史、表情圖標等
- 相關演示:
- FFlimation
這個項目的主要目的是提供一個穩定的開發平臺,這樣遊戲設計師就能夠忘記遊戲渲染引擎把精力集中在遊戲內容的細節方面。從「關卡製做」的角度來看,這個引擎的可用性很是的高。
- Citrus Engine
Citrus 引擎是一種基於as3和box2d的flash滾屏平臺遊戲引擎。Cirus引擎能讓設計師和開發者很是快速的容易的建立滾屏平臺遊戲(又叫橫版過關遊戲)象超級瑪麗。團隊能夠用citrus引擎給遊戲門戶製做廣告遊戲,市場推廣遊戲,搏逸遊戲等等。
- Yogurt3D
Yogurt3d的核心部分,swiftgl,是開源而且與opengl兼容。這意味着有opengl開發經驗的開發者很容易的就能夠開發出3d flash遊戲和應用程序。他還能夠輕易的將opengl代碼轉化成swiftgl並在flashplayer中運行。
UI組件與佈局管理
- flex
本來是Adobe的商品,後來被捐獻給Apache。
- flex lite
- FlexLite是一個爲遊戲而生的開源輕量級UI框架,旨在爲遊戲開發提供一個更加高效的UI工做流。
- FlexLite Studio是針對FlexLite框架開發的所見即所得的可視化UI編輯軟件,與傳統純AS遊戲項目無縫集成。
- Morn UI
- 輕量級,可視化,高性能,易擴展的flash UI解決方案
- Morn UI庫以精簡,直觀爲設計理念,代碼輕量,能快速上手,減小學習成本,Morn UI所有庫總大小不到30K
- Morn UI提供強大的可視化編輯器,佈局及屬性都可在編輯器直觀設置,實現UI和邏輯分離,讓美術和程序輕鬆合做
- Morn UI設計之初就以高性能爲主要目標,以位圖爲基礎,利用延遲渲染機制,實現了高性能
- 不管UI組件仍是編輯器插件,都很是易於擴展,編輯器支持即改即用,輕鬆實現個性化,甚至使用本身的UI庫
- Flash UI Component
基於Flash CS3的UI組件,可用於純ActionScript項目。
- AsWing
AsWing是一套UI組件框架,純ActionScript開發的組件框架(有ActionScript2和ActionScript3版本),也包含一些經常使用的工具類,目的是讓Flash/Flex開發人員方便的開發出想要的應用程序界面。另外AsWing還提供SkinBuilder和GuiBuilder工具用於製做Skin和可視化編輯生成界面。目前AsWing團隊專一於ActionScript3版本的開發和維護。AsWing以 BSD協議發佈,無論你是商業仍是非商業,均可以自由無償使用.
zrong用過一段時間AsWing。看完AsWing的架構才發現,Flex4的spark組件引覺得傲大肆宣傳的layout,其實AsWing早就這麼作了。
但zrong在使用AsWing開發的時候,碰到過許多莫名其妙的問題,找不到什麼解決方案,目前已經放棄。
- Gfl
一個輕量級的基於純AS的獨立組件庫,可使用CSS語法。感謝smithfox的推薦。
- Minimal Comps
一套小巧可愛的純AS組件,除AsWing外的又一選擇。zrong發現純AS的UI組件並很少,貌似除了AsWing也就只有這套了。中文使用說明
- As3-Bloom
As-Bloom 是爲開發者提供的一個輕量級用戶界面。簡要介紹其特性:
- 主題編輯器
- 邊緣佈局系統
- 畫刷皮膚系統,輕鬆改變組件風格
- 類結構更爲清晰,易於初學者上手
- 保持短小精悍的文件尺寸,內存佔用低
- Skinnable Minimal Components
MinimalComps的官方版本是不支持皮膚的,而這個就是它支持皮膚的版本。
- razor components
一套支持皮膚的純AS組件。
- MadCommponents
一套輕量級的純AS組件,適合用在移動設備上。
- AS3Flobile
這一套也是比較輕量級的
- Base UI
純AS實現的佈局框架,功能很全,配合Minimal Comps再好不過了。快速查看佈局效果
- miniui
這是一個開源的flash ui 框架。支持主流框架的skin和layout等功能,可是體積卻很是小。
- FlexLib
一套包含不少FLEX高級組件的開源類庫。包含這些組件:AdvancedForm, Base64Image,EnhancedButtonSkin, CanvasButton, ConvertibleTreeList, Draggable,Slider, Fire, Highlighter, HorizontalAxisDataSelector ImageMap,PromptingTextInput, Scrollable Menu Controls, SuperTabNavigator,Alternative Scrolling Canvases, Horizontal Accordion, TreeGrid,FlowBox, Docking ToolBar 。
- FlexMDI
是一個在Flex中輕鬆建立多窗口(MDI)的一個框架,提供了不少功能,包括拖拽,最大化,最小化,各類效果等。
如今FlexMDI已經整合進入FlexLib組件,成爲其中的一個包flexlib.mdi MDIManager介紹flexmdi中的效果
- vancura-AS3-libs
提供純AS3組件的皮膚和樣式的集合。支持Scale9Bitmap
- BrowserCanvas
提供容易的方式動態修改Flash尺寸大小
- senocular Layout class
除了佈局工具,還有其餘許多有用的工具
- Yahoo ASTRA: ActionScript Toolkit for Rich Applications
這是Yahoo開發的一套RIA組件包,包含如下內容
- EnFlash 僅支持AS2
- XMCA 僅支持AS2
- BIT Component Set 商業組件 $99
- GhostWire Components 商業組件 標準版$149 精簡版$99
Tween
ActionScript3.0 API
ActionScript編輯器
- Flash Builder
Adobe官方提供的編輯器,沒什麼好說的。
- InteliJ IDEA
聽說是最好的JAVA IDE,Google的AndroidStudio也基於它開發。只有收費版才支持Flex和AS3開發。
- FDT
FDT是Flash Development Tool 的簡稱,是很是優秀的ActionScript編輯器。與FlashBuilder相同,它也是基於Eclipse開發。它支持高級的代碼自動完成功能,具備強大的實時錯誤檢測和除錯功能,能夠導入Flash的幫助文件,實現同Flash同樣方便的幫助信息等等。有免費版。
- FlashDevelop
小巧免費快速的AS編輯器,支持Flex和AIR開發,基於.NET,啓動快速,免費。zrong在用這個。
- SEPY ActionScript Editor
強大的開源AS編輯器,使用python開發。最近一次更新是在2007年2月10日,估計沒戲了。
調試器 來自 評測
- Kap Inspect若是你沒用過spy工具,你可曾想實時監控swf application的的全部事件? 你可曾想查看swf有沒有內存泄漏問題?你可曾想看看到底DisplayObject tree是什麼樣的?你可曾想查看全部控件的屬性,甚至在運行時改一下?來自
- ThunderBolt是個面向ActionScript 2和3的Firebug輕量級記錄器擴展,沒法使用Firebug的AIR程序,ThunderBolt有ThunderBolt AS3 Console可使用。
- Arthropod是個面向Flash和AIR開發的調試工具。其易用性很是好,下載後直接就可使用, 開發者能夠在運行期輕鬆調試應用。
- Alcon是面向ActionScript開發者的一個輕量級調試工具,提供直接且快捷的方法來調試任何ActionScript 2或ActionScript 3應 用,不管這些ActionScript是來自於Web瀏覽器、獨立的Flash Player仍是AIR運行時都沒有問題。
- De MonsterDebugger 是個面向Flash、Flex及AIR項目的開源、輕量級的調試器,功能完善,徹底使用Adobe AIR開發。
- reflexutil是個Flex調試工具,能夠在運行時時實改變控件的屬性。
Flex Explorer
Flex開發框架
編譯與反編譯器 部分轉自
- 碩思閃客精靈(商業軟件)
- imperator(商業軟件)
- Action Script Viewer(商業軟件)
- Flasm(自由軟件)反編譯swf成字節碼(bytecode),將修改的字節碼再編譯成swf。理論上能夠反編譯任何加密方式的swf,用匯編語言來寫ACTION SCRIPT,FLASM能幫你將SWF裏面的AS轉換成彙編語言,而後你要作的是優化這些代碼,最後交由FLASM再把他轉回SWF,FLASM的語法與彙編相似,但只能支持到Flash 8。
- Flare(自由軟件)Flare是一個免費的swf反編譯器. 目前最高只支持Flash MX 2004 和Flash 8。
- swfparser(開源軟件)一個 Java 編寫的簡單的用來反編譯 swf 的工具,只支持到Flash 8。
- swftools是一個方便,易於使用的實用程序收集專門設計,使您與Adobe的Flash文件(SWF文件)工做變得更容易,目前支持Windows和Linux。
- PDF2SWF是一個PDF格式到SWF格式轉換器。每頁生成一幀。使你有完整的格式化文本,包括表格,在你的Flash電影上。它基於PDF格式的解析器。結合FlexPaper能夠實現相似Baidu文庫/豆丁網的Flash文檔閱讀器,不過要達到上面兩種同樣應用還須要很多改進
- SWFCombine工具插入一個對pdf2swf轉成文件的顯示封裝。 (模板)例如見,包括在一些瀏覽SWF的排序pdf2swf。
- SWFString搜索出SWF裏的文本數據。
- SWFDump列出有關swf文件裏的各類信息如:Sprite, Shape, String等。
- JPEG2SWF添加一個或多個JPEG圖片,併產生一個SWF幻燈片。
- PNG2SWF 同JPEG2SWF類似,支持png格式。
- GIF2SWF轉換的GIF到SWF。還可以處理GIF動畫。
- WAV2SWF WAV音頻文件轉換爲SWF文件,使用的LAME MP3編碼器庫。
- AVI2SWF的AVI動畫文件轉換爲SWF。它支持Flash MX中的H.263壓縮。有些例子能夠找到examples.html。
- Font2SWF轉換字體成爲SWF文件。
- SWFBBox容許調整SWF的封裝Viwer。
- SWFC的工具,從簡單的腳本文件建立的SWF文件。
- SWFExtract容許提取影片剪輯,聲音,圖像等從SWF文件。
- RFXSWF 一個功能齊全的Flash庫,可用於獨立的SWF。包括位圖,按鈕,形狀,文字,字體,聲音等的支持,也爲ActionScript支持使用明ActionCompiler。
- AS3Compile ActionScript 3.0編譯器,與官方的Flex SDK 裏的mxmlc相比功能不多,你能夠輸入as3compile –help查看參數
- Ming能夠用來生成swf文件,包括在swf文件內增長圖片,聲音,視頻等素材,也能夠在文件內增長代碼,使用濾鏡.可使用php,perl,python,ruby,java生成swf文件,php5安裝的時候自帶,php5幫助裏面用完整的函數說明。
- swftophp – SWF to PHP converter
- makefdb – Font Definition Ripper
- listfdb – List Font Definition
- listjpeg – List JPEGs
- listswf – SWF Disassembler
- listaction – Actions Script Disassembler
- png2dbl – PNG convert
- gif2dbl – GIF converter
- gif2mask – GIF Mask extractor
- raw2adpcm – Audio Converter
- Swfmill是一個功能可靠使用方便的命令行工具,可使用SWFML實現的xml和swf之間的轉換,還能夠利用xslt生成swf文件,也是FAMES生成SWF密不可分的一部分。SWFML是一種在SWF文件格式制定後製定的XML語言。
- Nemo 440(免費軟件)AIR編寫的ActionScript 3/ABC2/Flex 2/Flex 3/Flex 4/AIR反編譯器,並不能還原成AS文件,只是反編譯成相似字節碼的代碼。
- swfdump和swfutils.jar,包含在Flex4 SDK中,swfdump調用swfutils.jar工做,將swf編譯成字節碼。能夠看看這篇文章的介紹。
加密與混淆器
外殼
視頻
服務器軟件
- C++ RTMP Server(crtmpserver/rtmpd)
一個C++實現的媒體服務器,支持RTMP,RTMPE, RTMPS, RTMPT, RTMPTE協議和易懂設備,支持MPEG-TS/RTSP/RTCP/RTP協議。
- Mammoth Server
也是一個C++實現的支持RTMP協議的流媒體服務器。
- Red5
使用Java編寫的開源軟件,能夠用來替代Flash Media Server(原Flash Communication Server)
- Wowza Media Server
商業軟件,又一個FMS替代品,除了RTMP外,還支持多種協議和多種客戶端(Silverlight、QuickTime等等)
- ErlyVideo一個使用Erlang語言編寫的FMS替代品,支持HTTP MPEG-TS流、RTMP流和IPhone流。
- SmartFoxServer
商業軟件。它是專門爲Adobe Flash設計的跨平臺socket服務器,讓開發者高效地開發多人應用及遊戲。服務器端可使用Actionscript, Javascript, Python和Java語言進行擴展。自帶數據庫和HTTP服務器引擎。
中文介紹 中文文檔
- Openfire
使用Java開發聊天和IM服務器,實現了XMPP協議。聽說Google Wave的協議也是基於它的,底層使用Apache MINA(下面有介紹)。
- QuickServer
它是一個免費的開源Java庫,用於快速建立健壯的多線程、多客戶端TCP服務器應用程序。使用QuickServer,用戶能夠只集中處理應用程序的邏輯/協議。
中文開發指南
- MINA
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 組織一個較新的項目,它爲開發高性能和高可用性的網絡應用程序提供了很是便利的框架。當前發行的 MINA 版本支持基於 Java NIO 技術的 TCP/UDP 應用程序開發、串口通信程序(只在最新的預覽版中提供),MINA 所支持的功能也在進一步的擴展中。
- Cindy
Cindy是一個強壯,可擴展,高效的異步I/O框架。支持TCP,SSL-TCP, UDP和Pipe。
- OneTeam Media Server又一個使用Erlang語言編寫的開源FMS替代品 來自
- 支持流式播放實時或已錄製好的媒體內容
- 支持錄製實時內容
- 支持AS3 SharedObject共享對象
- 支持Clustering集羣
- 支持用Erlang/OTP編寫應用程序模塊
- TightVNC
並不是Flash專用,提供遠程控制服務
參見FlashVNC
- vnc2swf
將VNC的內容保存成SWF
開發
應用
Flash Remoting
- webORB
包含.NET、JAVA、PHP和 Ruby on Rails版本的Remoting。
- FluorineFx
Flash Remoting for .NET,開源
- Zend AMF
Zend出品,算是官方支持了。Flash Builder自帶了這套框架。
- OpenAMF on sourceforge
JAVA Flash Remoting
- rubyamf
RubyAMF is an open source flash remoting gateway for rails. It plugs?directly into your controllers with render :amf.
- amfphp(不推薦)
Flash Remoting for PHP,開源
ActionScript 1.0/2.0