天天看點

Flash遊戲開發技術分析(下)

Flash遊戲開發技術分析(下)

7、開源Flash開發工具

(1) MTASC

MTASC全稱“Motion-Twin ActionScript 2 Compiler”,是第一個開源的 ActionScript 編譯器。可使用它直接生成SWF位元組碼,無需任何Flash工具。

(2) ASDT

ASDT:是Eclipse插件,也是Actionscript開發工具。它是用Java開發的,提供一個具有文法着色顯示、代碼完成、代碼折疊、文法檢查、代碼導航、調用MTASC進行編譯、代碼模闆、内容輔助等功能的編輯器和其它一些用于建立ActionScript2.0和編譯SWF檔案所需要的所有輔助工具。建構器和日記功能可以用來調試和部署完全采用ActionScript2.0編寫的項目。

(3) FlashDevelop

FlashDevelop是Windows平台上的可替代ASDT+Eclipse的開發環境。它支援ActionScript 2和ActionScript 3的開發,提供了與ASDT相同的特征以及版本控制功能。

(4) haXe開發工具

haXe是一種面向Web技術的進階程式設計語言,它可以運作在Flash Player,也可運作到JavaScript的Runtime或是Neko Runtime環境。

也就是說,其它很多語言隻能運作在它們自己的平台,比如Java運作在JVM,C#運作在.Net,ActionsScript運作在Flash Player,而haXe則是一個多平台語言。你可以使用haXe開發多個平台的程式:

  · 可以把一個haXe程式編譯成單個的.js檔案。

  · 可以把一個haXe程式編譯成一個.swf檔案。

  · 可以把一個haXe程式編譯成NekoVM的二進制代碼。

注:Neko是一個本地系統Runtime環境(類似于JRE),它允許haXe程式在本地運作。

(5) swfmill

Swfmill是一個使用SWFML實作的從XML到swf或者從swf到XML轉換的指令行工具。Swfmill也是一個具有XSLT能力的生成swf的工具。

SWFML是一個在SWF檔案格式制定後制定的XML方言。

(6) SWFObject

SWFObject是一套JavaScript庫,是嵌入Flash内容到HTML頁面的最佳實踐技術。

SWFObject可以在HTML中插入Adobe Flash媒體資源子產品(*.swf檔案),這些子產品是互相獨立的、JavaScript子產品。子產品中的JavaScript腳本能夠自動檢測PC、 Mac機器上各種浏覽器對Flash插件的支援情況。它使得插入的Flash媒體資源盡可能簡捷、安全。而且它是符合搜尋引擎優化原則的。此外,它能夠避免HTML、XHTML中出現Object、Embed等非标準标簽,進而使頁面更加符合标準。

(7) Sprouts

Sprouts是一個開源項目,目前是使建立和維護Flash開發環境變得更容易。Sprouts能夠建立和管理ActionScript 2、ActionScript 3以及基于Flex的項目的配置。

8、開源Libraries和Toolkits

(1) Fuse Kit

Fuse Kit,常常也叫Fuse,是Moses Gunesch開發的一個庫,它結合了漸變引擎和定序器,提供了強大的基于ActionScript 2代碼的動畫解決方案。使用Fuse可以輕松地建立動畫,無需回調函數、定時器,或Tween類的擴充調用。

Fuse Kit其實就是一堆AS檔案,可以幫助你利用ActionScript來實作逼真的緩動效果,可以用來動态地添加濾鏡效果,還可以生成一些基于時間的事件。

(2) Papervision3D

Papervision3D是一個開源、基于MIT許可證的、為Flash開發且使用ActionScript 3.0語言編寫的3D引擎。

Papervision3D的目标在于實作更加炫麗美觀、功能強大的Flash 3D Web應用程式。自動ActionScript 3釋出後,ActionScript的效率得到了大幅度提升,基于ActionScript 3的Papervision3D無論是在效率、功能上也有很大提高。随着現在 Web 2.0、Web-Game及休閑類競技網絡遊戲的發展,相信Papervision3D的應用将會越來越廣泛。

(3) Screenweaver HX

Screenweaver用于建立交叉平台的RIDAs(Rich Interfaced Desktop Applications)的軟體。它分離了應用程式邏輯和應用程式接口的聯系。Screenweaver軟體在Neko和Flash這兩個 Runtime環境之間建立了一個橋。

Neko VM:運作haXe應用程式;

Flash Player:運作Flash應用。

9、開源Flash伺服器端的技術

(1) AMFPHP

AMF:Action Message Format,是Flash平台的一種二進制資料交換格式。

AMFPHP是AMF格式在伺服器端的實作之一,AMFPHP提供了遠端過程調用(RPC)功能,允許Flash應用調用伺服器端的功能。

另外,AMFPHP支援AMF格式,他能通過JSON和XML-RPC進行通信。

AMFPHP是基于PHP語言的RPC工具,它可以使PHP與下述技術無縫通信:

  * Flash 和 Flex Remoting

  * JavaScript JSON 和 Ajax JSON

  * XML 和XML-RPC

AMFPHP廣泛用于各種便宜的Web主機環境。它無需任何特定的PHP擴充。

(2) Red5

Red5是一個采用Java開發的開源Flash流媒體伺服器,與AMFPHP類似,它提供了AMF之上的RPC功能。Red5提供了流媒體和伺服器端共享對象支援。視訊和音頻媒體可以串流到用戶端,實作了Flash Media Server(FMS)的很多功能。視訊和音頻還可以用用戶端的webcam和麥克風錄制,并發送會伺服器進行更多的處理或分發。

Red5的主要功能:

  · 把音頻(MP3)和視訊(FLV)轉換成播放流;

  · 錄制用戶端播放流(隻支援FLV);

  · 共享對象;現場直播流釋出;

  · 遠端調用。

Red5使用RSTP作為流媒體傳輸協定,在其自帶的一些示例中示範了線上錄制,flash流媒體播放,線上聊天,視訊會議等一些基本功能。

(3) SWX

SWX是由Aral Balkan開發的伺服器端的新技術。它使用SWF格式進行資料交換,還提供了比其它傳輸機制更好的幾個優勢:

  · 支援Flash Lite開發

  · 原生支援Flash Player,播放器處理時間最短

  · 非常易于使用

SWX提供了RPC機制,允許Flash直接調用伺服器内容。與AMFPHP或Red5不同,SWX提供了伺服器端的多種實作:

  · SWX PHP

  · SWX Ruby

  · SWX Java

10、Adobe提供的開源工具

(1) Flex 3 SDK

支援ActionScript 3開發,使用Flex架構,目标是Flash Player 9以上。

(2) BlazeDS

BlazeDS是基于Java的伺服器解決方案,提供了Flash平台的實時通信服務。它由三個主要元件組成:

  · 通路伺服器端的方法和對象的遠端服務

  · 支援釋出/訂閱消息的消息服務

  · 允許Flash應用通路Flash安全沙盒禁止的資料類型的代理服務

(3) ActionScript 3庫

Adobe提供了多個ActionScript 3庫,如下:

  · as3ebaylib:通過ActionScript通路eBay的XML API。

  · as3corelib:ActionScript開發的類和工具集。

  · as3flexunitlib:Flex開發的單元測試架構。

  · as3odeolib:從Odeo服務中檢索podcasts的ActionScript庫。

  · as3youtubelib:通路YouTube data API的庫。

  · as3syndicationlib:提供了處理RSS和Atom訂閱的單個接口。

  · as3flickrlib:使用Flickr API的庫。

  · as3mapprlib:提供了對Mappr API的通路。

  · Cairngorm:開發基于Flex的RIA應用的架構。

11、其它的工具及庫

  · AlivePDF:生成PDF的ActionScript庫。

  · ARP:輕量級的開發架構。

  · AsWing:一個GUI架構,帶ActionScript元件集。

  · Degrafa:一個Flex庫,用于在MXML中建立繪畫API。

  · FlexLib:一套基于Flex的元件集,帶火的動畫效果。

  · GoASAP:一個輕量級架構,建立ActionScript 3動畫的工具。

  · ObjectHandles:一個Flex庫,輔助建立界面,允許使用者在螢幕上移動對象和調整對象的大小。

  · Pulse Particle System:是一款ActionScript 3.0粒子系統. 可以使用它自定義多種酷炫的粒子效果。

  · Sandy:AstionScript 2.0和3.0的3D顯示引擎。

  · Prana:IoC容器的應用架構。

  · Tweener:ActionScript 3的漸變引擎,用于建立簡單和複雜的動畫。

  · http://spicefactory.org上還有數個項目。