為 ActionScript 匯出庫元件

2021-09-23 07:31:20 字數 2130 閱讀 5610

預設情況下,flash 文件庫中的影片剪輯元件例項不能以動態方式建立(即只使用 actionscript 建立)。這是因為匯出供 actionscript 使用的每個元件都會增加 swf 檔案的大小,而且眾所周知,有些元件可能不適合在舞台上使用。因此,為了使元件可以在 actionscript 中使用,必須指定為 actionscript 匯出該元件。

為 actionscript 匯出元件:

在「庫」面板中選擇該元件並開啟其「元件屬性」對話方塊。

必要時啟用「高階」設定。

在「鏈結」部分中,啟用「為 actionscript 匯出」核取方塊。

這將啟用「類」和「基類」字段。

預設情況下,「類」欄位會用刪除了空格的元件名稱進行填充(例如,名為「tree house」的元件會變為「treehouse」)。若要指定該元件對其行為使用自定義類,請在此字段中輸入該類的完整名稱,包括它所在的包。如果希望在 actionscript 中建立該元件的例項,但不需要新增任何其它行為,則可以使類名稱保持原樣。

「基類」欄位的值預設為 flash.display.movieclip。如果想讓元件擴充套件另乙個自定義類的功能,可以指定該類的名稱替代這個值,只要該類擴充套件 sprite(或 movieclip)類即可。

按「確定」按鈕以儲存所做的更改。

此時,如果 flash 無法找到包含指定類的定義的外部 actionscript 檔案(例如,如果不需要為元件新增其它行為),則會顯示警告:

無法在類路徑中找到對此類的定義,因此將在匯出時自動在 swf 檔案中生成相應的定義。

如果庫元件不需要超出 movieclip 類功能的獨特功能,則可以忽略此警告訊息。

如果沒有為元件提供類,flash 將為元件建立乙個等同於下面所示類的類:

package 

} }

如果想要向元件中新增額外的 actionscript 功能,請向下面的**結構中新增相應的屬性和方法。例如,假如有乙個包含 50 畫素寬和 50 畫素高的圓形的影片剪輯元件,並用名為 circle 的類指定為 actionscript 匯出該元件。以下**在放入 circle.as 檔案後將擴充套件 movieclip 類,同時為此元件提供額外的方法 getarea() 和 getcircumference():

package  

public function getarea():number

public function getcircumference():number

} }

放置在 flash 文件第 1 幀的關鍵幀上的以下**將建立該元件的乙個例項,並在螢幕上顯示該例項:

var c:circle = new circle(); 

addchild(c);

trace(c.width);

trace(c.height);

trace(c.getarea());

trace(c.getcircumference());

此**演示了基於 actionscript 的例項化可作為將單個資源拖放到舞台上的替代方法。它所建立的圓形具有影片剪輯的所有屬性,同時還具有 circle 類中定義的自定義方法。這是乙個非常簡單的示例 — 您的庫元件可在其類中指定任意數目的屬性和方法。

基於 actionscript 的例項化功能強大,因為允許動態建立大量例項,而如果採用手動方式來建立將是一項繁重的任務。同時還很靈活,因為您可以在建立每個例項時自定義該例項的屬性。您可以通過使用迴圈動態建立多個 circle 例項來體會上述優點。在 flash 文件庫中存在上述 circle 元件和類的情況下,將下面的**放在第 1 幀的關鍵幀上:

import flash.geom.colortransform; 

var totalcircles:uint = 10;

var i:uint;

for (i = 0; i < totalcircles; i++)

function getrandomcolor():colortransform

此**演示了如何使用**快速建立和自定義元件的多個例項。每個例項都根據迴圈內的當前計數進行定位,並且每個例項都通過設定 transform 屬性(circle 通過擴充套件 movieclip 類而繼承該屬性)獲得了一種隨機顏色。

posted on 2011-02-22 16:26收藏

Action script學習筆記。

action script基本語法 1 建立變數 var 變數名 型別 var a int 1 2.類的概念 action script中的類和其他物件導向中的類差不多,今天看到乙個基本的類object,很是通用。3.super 語句 呼叫方法或建構函式的超類或父版本。用法 super arg1,a...

C NPIO匯出 動態匯出為Excel

using npoi.hssf.usermodel using npoi.ss.usermodel using system using system.collections.generic using system.data using system.io using system.linq us...

ActionScript3 0 Socket程式設計

trace event.data convert the string into xml var response xml new xml event.data using e4x,access the success attribute of the test element node in th...