分類  >  Web前端 >

ActionScript 3.0系列教程:Document Class特色為們帶來了什麼

tags:    時間:2013-12-10 11:29:07
ActionScript 3.0系列教程:Document Class特色為我們帶來了什麼?

 Document Class,中文直譯為「文檔類」。顧名思義,就是和文檔綁在一起的類。
文檔是啥?就是要和這個類綁在一起的Fla文件。
[1b]什麼用處[/1b]?
這個玩意兒根本目的就是想把AS代碼和Flash設計完全剝離。
從此,Fla裡面只管設計,邏輯代碼全部由外部的類來包辦。
對於設計者和新手,黑羽可以打個比方,就好比[1b]三步走:[/1b]
1.把Fla裡面所有代碼集中到第一幀,
2.再把第一幀里的代碼拷貝到外部的一個as文件里。
3.再按照AS3.0的形式,把這些代碼放到這個類的構造函數里去。再根據這些個代碼抽出一些類的屬性和方法就OK了。
唔,這個比喻有很多小毛病。但比較直觀,比較好理解,一步步來。
等你明白有哪些小毛病了,你已經不需要這個破比喻了。
對於程序開發者(比如c#)
Document Class就好比一個Entry,它的構造函數就相當於一個main函數。
[1b]教程相關例子下載[/1b]:
[1b]點擊下載[/1b]
[1b]先來一個例子:[/1b]
上次建立的KingdaMC.fla和KingdaMC.as還在吧?
刪了?重來一遍吧,本次要用到fla裡面的加好鏈接類的元件,以及相關的KingdaMC類文件。
[1b]我們干兩件事:[/1b]
1.新建一個Document Class類。
2.用上之前的那個Kingda.fla,綁定Document Class
[1b]1.新建一個as文件,命名為KingdaMCDocumentClass,記得要和fla在同一目錄下:
[/1b]輸入如下代碼:
//因為在統一目錄下,所以package後面沒有路徑
package {
   import flash.display.MovieClip;
  
   public class KingdaMCDocumentClass extends MovieClip {
      private var tempMC:KingdaMC; //臨時變數,持有當時創建的KingdaMC的引用。
      private var MAX_MCS:int = 10;  //最多創建的KingdaMC數目
     
     //構造函數,和類同名,在AS3.0中必須為public。不能用private,protected或者自定義的namespace
      public function KingdaMCDocumentClass() {
         var i:int;  //新的數據類型int,只要是整數,就請用int。效率快過Number。
         for (i = 0; i
它要乾的事很簡單,就是用我們之前的KingdaMC類在舞台上創建十個KingdaMC實例,大小隨機,位置隨機。
[1b]2.用上之前的Kingda.fla,綁定KingdaMCDocumentClass。
[/1b]確保庫中已有設好KingdaMC類鏈接的symbol。
 
設置方法如圖:
[url=/Files/BeyondPic/2006-9/10/01.gif]

點擊放大[/url]
先把第一幀代碼全部刪掉。Ctrl+Enter測試一把。是不是有十個MC出來啊。
然後再像圖中那樣加上第一幀代碼,和舞台元件樂一樂。就是不按照Document Class規矩乾乾,呵呵。
[1b]那麼它到底是什麼?[/1b]
簡單的說,是一個用來取代原有散亂的時間軸代碼的標準解決辦法。
當一個Fla文件被編譯時,Document Class就被主動建立了。我們可以理解為Flash IDE偷偷加上了如下代碼:
 
 
這樣的好處是所有的時間軸邏輯都剝離到Document Class類文件中,一旦成為一個獨立的類文件,那麼很方便的可以和CVS軟體結合起來。對團隊合作(Designer + Coder)來說是一大利好。對新手和小項目來說,沒什麼優點和必要。
本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1732.html

推薦閱讀文章

Bookmark the permalink ,來源:互聯網