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