本節書摘來自異步社群《actionscript 3.0基礎教程》一書中的第2章,第2.1節,作者: 【美】doug winnie 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
現在你已經學會了如何操作舞台上已有的對象,接下來你将學習如何使用actionscript動态地往舞台添加存放在庫中的對象。
與前一章的差別是,你将要操作的對象還沒有被放到舞台上。當程式編譯成swf以後,你将使用actionscript動态地往舞台中添加來自庫中的對象。
你應該還記得,如果要通路舞台上對象的屬性,你需要為對象取一個名字,這樣actionscript才能引用它。當你從庫中往舞台添加對象時,同樣需要為對象取一個唯一的名字,同時你還需要為庫中對象的隊列取一個名字,這樣actionscript才能從隊列中取出一個對象并将它放到舞台上。
1.在flash professional cs5.5中建立一個actionscript 3.0項目。
2.在舞台上,建立一個簡單的圓圈,并将它轉換為元件。
3.将元件命名為blue circle,并将元件的類型選擇為movieclip。
通常情況下,你動态添加到舞台上的對象都需要是movieclipl類型,在單擊ok前,你需要為該執行個體取一個名字讓actionscript可以通路到。
graphic(圖型)和movieclip有什麼差別?
當你建立元件時,你會注意到有三種類型的元件可以選擇 movieclip,graphic和button(按鈕)。當使用actionscript時,隻有movieclip類型的元件才能被actionscript通路。如果你選擇了graphic類型,你将不能使用actionscript來控制它。graphic元件被用在動畫或者你需要重用該元件的情況,它不是為了要讓actionscript來控制。button也是一個對象類型。它實際算是movieclip的早期版本,在老版本的actionscript中使用。你現在還是可以使用它,但是它完全沒有movieclip好用,而且實踐中也證明應該使用movieclip來代替button。
4.打開進階設定(advanced)。
當進階設定打開以後,你會看見中間有actionscript linkage的一組選項,這部分的選項是用來給對象設定名字的,這樣你就可以使用這個名字來通路對象并将它放到舞台上了。
5.選中export for actionscript頁籤。
class和base class字段會自動填入bluecircle和flash.display. movieclip中。
完成這些設定之後,convert to symbol對話框應該看起來和圖2.1一緻。
與給庫中對象命名不同,actionscript對象的命名是不可以有空格的,這類似actionscript中便利貼的表現形式。我們把藍色圓圈的便利貼組叫做bluecircle類,你可以回看第一節的内容,回顧我們舉的便利貼例子(圖2.2)。
為了讓flash知道對象的類型,我們需要有基類的定義。在這個例子裡,基類是flash.display.movieclip。你可以暫時不必考慮movieclip前面的語句部分的意思,以後我們會講到,現在隻需要弄明白藍色圓圈便利貼就是這裡的bluecircle類。
6.單擊ok,你會看到錯誤資訊(圖2.3)。
暫時不用去擔心這個資訊,在未來你會建立一個特殊的actionscript檔案來定義bluecircle類如何工作。
在庫面闆中linkage列裡,你會看見blue circle是關聯到bluecircle類的,在actionscript中,使用它來建立執行個體對象(圖2.4)。
注意:
錯誤資訊是提醒你該對象缺少一個特殊的actionscript檔案,在本書的後面你會學習到如何添加這些檔案。