Flash-x開發(fā)框架說明
對于廣大使用AS3作為開發(fā)語言的Flash程序員來說,如何轉行到如日中天的手游開發(fā)是一件頭痛的事情。Adobe提供的解決方案讓人不敢恭維, 放棄使用多年的有如呼吸一般順暢的AS3,去學習陌生的C++、LUA或C#簡直就是要命,因為這不僅要去適應新的語法,還要學習新的開發(fā)環(huán)境,新的類和 新的API,這種從頭開始的感覺可真不好。
作為一個化石級的頁游開發(fā)者,作者同樣遇到這個難題。經過努力,我推出了自己的解決方案,那就是Flash-x開發(fā)框架,該框架利用標準的AS3項 目,使用Flash的規(guī)則開發(fā)游戲,只是在運行前把AS3文件轉換成LUA文件,再按照cocos2d-x的規(guī)則運行顯示。關鍵的問題當然是如何進行代碼 轉換,這聽起來挺玄乎的,畢竟AS3和LUA乍一看有著巨大的差異,其實還是有跡可循的,經過多次改進,終于達到實用的程度。
Flash-x的優(yōu)點
- 開發(fā)時是標準的AS3項目,運行時則是cocos2d-x的環(huán)境,兼顧了方便和效率,完全為Flash程序員轉型量身定制
- 與LUA相比,AS3在編碼時要方便很多,畢竟這是完全面象對象的語言。另外還實現(xiàn)了語法編譯,從而在運行前就排除掉大部分錯誤
- Flash-x框架不僅僅是提供了語法轉換,更重要的是提供了一套成熟而又簡潔的開發(fā)機制,這是作者在多年的頁游開發(fā)中精煉出來的。包括UI、動畫、數(shù)據(jù)和事件等,都有簡單方便的解決方案
Flash-x的缺點
- 轉換規(guī)則還是有一些限制的,主要是字符串方面的,變通的方法在開發(fā)文檔中有說明
- 沒有實現(xiàn)getter和setter方法,以及super關鍵字,這也都是因為LUA本身的局限所致
開發(fā)環(huán)境配置
- 下載Flash-x開發(fā)包,解壓到硬盤上,比如d:\flash-x\
- 從http://www.flashdevelop.org官網下載flashdevelop開發(fā)工具并安裝
- 到http://www.adobe.com/devnet/flex/flex-sdk-download.html下載最新版的flex sdk
- 打開FD,選擇主菜單Tools->Program Settings,在彈出的Settings對話框中,選擇AS3Context->Installed Flex SDKs,彈出下面的對話框,并按圖操作
- 雙擊d:\flash-x\flash-x.as3proj項目文件,打開Flash-x項目,看到熟悉的FD開發(fā)界面了
- 點擊F5快捷鍵,編譯運行項目,結果是一個最簡單的hello,world輸出
簡要開發(fā)說明
然后就可以開始寫代碼了,寫什么呢?如果是Flash程序員,可以看看項目中的開發(fā)文檔,然后從做一些功能測試開始。對于其他語言的程序員,我推薦 先進行字符串、數(shù)組、if語句、for循環(huán)和函數(shù)調用等基礎語法的測試,這些都是AS3的基本知識,很重要,學起來也很容易的。
入口類是Main.as,其他邏輯代碼一般都放在game目錄下。我盡量按照Flash的規(guī)則封裝基本的控件體系和常用API,不過也沒有完全照 搬,而是對其進行簡化。Element是控件基類,Box和Clip分別是容器類和圖片類,這二者加上時鐘和事件,就可以完成各種各樣的開發(fā)需求了,具體 說明見開發(fā)文檔。
現(xiàn)在,你實際上已經可以為所欲為了,不過也可能會手足無措。為了幫助大家用好Flash-x框架,我將會陸續(xù)推出一些經典的實例教程。
精彩實例
所有實例都包含在Flash-x開發(fā)包中,處于src/game/example目錄,請下載最新的版本