FlashDevelop+aswing開發(fā)AS2程序
本文作者:harryxu
文章出處:webstudio.com.cn
文章性質(zhì):原創(chuàng)
閱讀次數(shù):6250
發(fā)布時間:2006-12-23
聲明此教程為webstudio forum版主harryxu所作,轉(zhuǎn)載請注明出處,harryxu的blog
最近在學(xué)aswing(aswing是一個開源的as UI框架,結(jié)構(gòu)模仿java的swing,具體可以到(http://aswing.org/),由于我的機器配置不是太高,并且也是處于入門階段不是搞什么大程序,所以選用了FlashDevelop作為編程環(huán)境,F(xiàn)lashDevelop的優(yōu)點是體積小巧使用簡單,在這里我針對初學(xué)者講講我使用FD的方法。
mtasc
mtasc是一個開源的actionscript編譯器,它可以吧as文件編譯成swf,然而mtasc與mmc(macromedia flash官方的編譯器)有些區(qū)別(具體不同請看這里),所以造成了依照mtasc規(guī)則寫的程序可能與mmc不兼容。
使用mtasc有很多好處
他速度快可以在很短的時間里編譯大量的as類文件,開源免費,更適合開發(fā)人員(對于一個純開發(fā)的人員,似乎不需要用到時間軸吧),等等
為什么要使用aswing?
由于使用mtasc編譯,沒有像flashIDE中可以方便的用畫圖工具繪制自己的界面,而如果自己用繪圖庫寫界面也太累了
aswing能讓我們快速的構(gòu)建用戶界面,使用aswing就可以在脫離flashIDE的情況下快速的開發(fā)出強大的用戶界面(比flash自帶的v2組件要強很多)。
再說一下為什么要使用用FlashDevelop(下面簡稱為FD)
其實使用aswing并不一定要使用FD,不過aswing必須使用mtasc編譯。
有一個更好的開發(fā)環(huán)境那就是 Eclipse+ASDT/FDT+MTASC+Flashout,這是個基于Eclipse的開發(fā)環(huán)境,非常強大,不過由于需要一些配置過程(配置方法可以參考這里),并且Eclipse占用的系統(tǒng)資源要比FlashDevelop大。
而FD已經(jīng)集成了mtasc下載安裝即可,無需另外配置,當然功能肯定沒有Eclipse來的強大,但是作為一般的學(xué)習使用還是挺適合的,關(guān)鍵是小巧速度快。
下面就開始說具體的使用方法
首先下載安裝FlashDevelop,最新版本注意安裝FD需要有.net運行環(huán)境
下載aswing,將org這個文件夾放到你專放as類庫的文件夾中,比如我方的地方是 K:\actionscript\(記住這個路徑哦,后面還要用到)
啟動FD,我們先創(chuàng)建一個項目 test
點擊 Project->New Project->選擇Empty Project,下面是Project Name就填test好了,然后選擇一個路徑來存放你的項目,可以選中Create directory for project來讓FD為我們建一個目錄,然后點OK。這樣我們的項目就建好了。
接著我們建一個as類文件Test.as,方法是右鍵test項目->add->New Class 如下圖
起名為Test,點ok后FD就會創(chuàng)建一個as文件,并且已經(jīng)為我們寫好了類名與構(gòu)造函數(shù)
在開始寫代碼之前還有幾件事
1、將Test類設(shè)為Always Complie,這樣FD就知道要編譯這個類了,右鍵Test.as選擇Always Complie即可
2、設(shè)置項目屬性,右鍵Test項目->Properties,現(xiàn)在Movie中設(shè)置swf的一些屬性,包括輸出的swf文件名、背景、幀頻等,其他選項卡的設(shè)置稍后說。
然后我們輸入代碼
代碼: |
|
class Test { function Test() { trace("hello world"); } public static function main() { var test:Test = new Test(); } }
|
|
這是個最簡單的輸出hello world的類,一般用mtasc編譯的,使用一個public static function main()函數(shù)作為程序入口,也就是說一運行就會調(diào)用這個靜態(tài)main方法,在main方法中我們創(chuàng)建了一個新的Test類的實例test,test被創(chuàng)建后,構(gòu)造函數(shù)里就會輸出hello world
右鍵test項目->Test Movie
FD就會調(diào)用mtasc去編譯這個類文件,很快我們就會看到一個空白的畫面(因為swf畫面上什么都沒有。。),然后可以在下面的Output面板中看到輸出的hello world
好了,現(xiàn)在我們會用FD了,接下來演示一個簡單的aswing程序,關(guān)于aswing,我也是一個初學(xué)者,不能提供很好的教程,代碼只能稍微說一下,無法詳細解釋,大家可以到aswing的官方網(wǎng)站上看教程和API文檔
類路徑: 首先我們要將我們放類庫的目錄添加到類路徑中,還記得我把aswing放在哪里了么? 是 K:\actionscript
右鍵Test項目->Properties點擊Classpaths選項卡,點擊Add Classpath 將 K:\actionscript添加進去
當然也可以添加一個全局的類路徑,使任何項目都能使用 , 在 Tools->Global Classaths中添加
現(xiàn)在將我們的Test類中的代碼改成如下代碼
代碼: |
|
import org.aswing.JFrame; // 導(dǎo)入JFrame類
class Test extends JFrame // Test類繼承JFrame { /** * 構(gòu)造函數(shù) * @param title 窗口標題 */ function Test(title:String) { super(title); // 調(diào)用直接父類(JFrame)的構(gòu)造函數(shù) this.setSize(200, 200); // 設(shè)置窗口大小為 200*200 this.setLocation(100, 100) // 設(shè)置坐標為 100,100 } public static function main() { Stage.scaleMode = "noScale"; // 設(shè)置swf內(nèi)容不可縮放 var test:Test = new Test("JFrame test"); // 建立一個Test類的對象test test.show(); // 顯示窗口 (show為JFrame中的方法,現(xiàn)在Test類繼承了JFrame,自然也有這個方法了) } }
|
|
這里我建立了一個Test類繼承JFrame來演示,JFrame是aswing中的一個窗體組件,我寫了注釋,具體使用方法去看官方API文檔吧。
寫完后Test Movie,編譯完成后我們就會看到一個窗口啦,哈哈
好了,就到這里吧,大家應(yīng)該會使用FD了吧,關(guān)于aswing還是需要一點點的學(xué)起來,一起努力吧。
如果說以后是AS3的時代,AS2很快要淘汰了,那么很高興的告訴你,據(jù)aswing的開發(fā)著iiley說,不久就會放出aswing的as3版本,大家一起期待把,哈哈
另外,aswing是一個優(yōu)秀的開源類庫,不管AS2淘不淘汰,有空翻出aswing源代碼來研究研究也是會學(xué)到很多東西的。
相關(guān)鏈接: FlashDevelop:
http://www.flashdevelop.org/ FlashDevelop最新版下載:
http://www.flashdevelop.org/downloa...2.0.2-Final.exe aswing:
http://www.aswing.org/ mtasc:
http://www.mtasc.org/