原文: http://apps.hi.baidu.com/share/detail/22992357
在以後的日子設計與編程漸漸分離。那我們如何將分離的代碼嵌入到設計當中去呢?
換言之就是如何將.fla文件與.as文件進行關聯。下面的示例就是兩個方法大家可以看看。
#測試.as文件的兩種方法(就是fla文件與as文件的綁定模式)
一.首先創建一個空白的flash文件(3.0),例如:test.fla。然後再在“選項面板”上的“文件”“類別”上寫上你要測試的類<文檔類(Document class)>的類名(這裏的類名和文件名要一致)。
請注意,我們輸入的是類名,而不是文件名。
所以這裏不需要輸入擴展名 .as。如果這個類包涵在一個包中,
那麼就需要輸入類的完整路徑——例如:com.friendsofed.chapter2.Test。
如圖:
這樣就可以保存了。最後測試test.fla就行了。
<注意:在使用該方法時,請不要在“動作“裏添加任何代碼,否則會報錯(1180: 調用的方法 addFrameScript 可能未定義(初學者最容易犯的錯誤)),如出錯,請參照該文修改>
二. 首先創建一個空白的flash文件(3.0)。例如test2.fla。然後再動作面板里加入以下代碼:
//Test 是文檔類(Document class),一般在做項目的時候,這是加載主類的。
var main:Test = new Test ();
//這裏是將這個類加載到這個fla文件裏的。
addChild(main);
好了,可以測試test2.fla這個文件了。
《注意:測試類要與被測試類在同一目錄下否則會因爲找不到被測試類而報錯。。。。。。一定要注意。。。。。》
我用的被測試類可以叫做文檔類(Document class):
文件名:Test .as
package {
import flash.display.Sprite;
/*這個類可以作爲一個主類,作爲其他類的一個程序的入口,就像java程序的main一樣,*/
public class Test extends Sprite {
public function Test() {
init();
}
private function init():void {
//這裏可以調用您寫的其他類。
trace("Hello world!");
}
}
}
-------------------------執行結果----------------------------
-----------------------------------------------------------------
=========================文檔類(Document class)介紹===============================
文檔類(document class)是從AS 3 開始引入的一個全新的概念,就是實現設計與程序的徹底分離,
能更方便程序員的編寫。
一個文檔類就是一個繼承自 Sprite 或 MovieClip 的類,並作爲 SWF 的主類(也就是類似java的main)。
讀取 SWF時,這個文檔類的構造函數會被自動調用。它就成爲了我們程序的入口,做爲一個類似於.fla文件和.as文件的聯繫人。
以下是一個文檔類的框架:
package {
import flash.display.Sprite;
/*這個類可以作爲一個主類,作爲其他類的一個程序的入口,就像java程序的main一樣,*/
public class Test extends Sprite {
public function Test() {
init();
}
private function init():void {
//這裏可以調用您寫的其他類。
trace("Hello world!");
}
}
}
使用默認包,導入並繼承 Sprite 類。
構造函數只有一句,調用 init 方法。
當然,也可以把所有代碼寫在構造函數裏,
但是要養成一個好習慣,就是儘量減少構造函數中的代碼,
所以把代碼寫到了另一個方法中。
以下是原理圖: