跳轉到內容

ActionScript 程式設計/第一部分/第一章

來自華夏公益教科書

Flash 中的每個符號例項都有屬性,這些屬性控制物件本身以及它如何顯示以及它與環境的互動方式。但是,圖形型別的符號例項無法用 ActionScript 引用,因為您無法為它們分配例項名稱。

Actionscript 3.0


Actionscript 3.0 移除各種屬性前的下劃線。

ActionScript 中的屬性在屬性名稱之前包含一個下劃線,表示它與顯示或環境有關。符號例項的屬性可以在設計時或執行時使用 ActionScript 修改,這是動畫的基本任務。

在本章中,我們將學習使用屬性。


X, Y 座標

[編輯 | 編輯原始碼]

x 和 y 是物件的座標。由於螢幕是二維的,因此物件沒有第三個 z 座標。現在讓我們編寫一個小型程式。我們將繪製一個球,然後將其移動到指定位置。

步驟 1

從工具欄中選擇橢圓工具 並繪製一個圓圈。

步驟 2

選擇您繪製的橢圓,然後按 F8。將出現“轉換為符號”對話方塊。在“名稱”欄位中輸入“mov_ball”,選擇“影片剪輯”行為,然後按“確定”。

步驟 3

現在選擇橢圓。在屬性視窗(預設情況下位於螢幕底部)的“例項名稱”欄位(靠近“交換”按鈕)中,鍵入“ball”。現在我們可以自定義球的屬性了。

步驟 4

右鍵單擊“時間軸”視窗中的關鍵幀,然後選擇“操作”。將出現“操作”視窗。在指令碼窗格中,寫入以下內容

ball._x = 200;
ball._y = 200;

此示例將球的位置設定為 (200, 200)。但讓我們分析一下程式碼。“ball” 是我們場景中的物件。"_x" 是物件的 x 座標,"_y" 是物件的 y 座標。在 ActionScript 中,屬性以 "_" 開頭,包括 x 和 y 座標。在許多語言中,";" 放在每一行的末尾,以便程式可以找到語句的末尾。

寬度,高度度量

[編輯 | 編輯原始碼]

寬度和高度是物件的垂直和水平尺寸。它們的使用就像使用 x 和 y 屬性一樣。將以下幾行新增到前面的示例中,您就會明白。

ball._height = 50;
ball._width = 100;

XScale,YScale

[編輯 | 編輯原始碼]

縮放本地座標系會影響 _x 和 _y 屬性設定,這些設定以完整的畫素定義。例如,如果父影片剪輯縮放到 50%,則設定 _x 屬性會在影片剪輯中移動物件,移動的畫素數是影片設定為 100% 時的一半。

可見性

[編輯 | 編輯原始碼]

此屬性使物件可見或不可見。要測試此屬性,我們需要在場景中新增一個按鈕。在場景中繪製類似按鈕的內容,並將其轉換為按鈕(使用 F8),或者您可以從“視窗>公共庫”選單中的“公共庫”中新增任何按鈕。新增按鈕後,右鍵單擊它並從彈出選單中選擇“操作”。在指令碼窗格中,鍵入以下內容

 on (release) {
    ball._visible = false;
 }

但請注意,如果您使用的是標準模式,則不要編寫此內容。從“操作”視窗的左側選擇“屬性”,然後雙擊“_visible”。您會注意到第一行和第三行會自動寫入,但第二行只是“_visible”。在指令碼窗格上方的“表示式”欄位中,寫入“ball._visible = false”。但如果您使用的是高階模式,則複製上面編寫的全部程式碼。第一行是“釋放”事件的開始。“釋放”事件在使用者單擊按鈕時發生。編寫事件的結構為“on (<event 的名稱>) {”。“{”告訴程式事件的開始。“}”告訴程式事件的結束。因此,當用戶單擊按鈕時,位於“{”和“}”之間的程式碼將被執行。第二行使用“_visible”屬性使球不可見。此屬性可以設定為“true”(“是”),表示可見,設定為“false”(“否”),表示不可見。這種型別的構造(“true” 和“false”)稱為“布林值”,您將在稍後學習。

旋轉屬性指定物件的旋轉角度。要測試此屬性,請按照以下步驟操作。

步驟 1

在工具箱中選擇矩形工具 ,繪製一個矩形,雙擊繪製的矩形,然後按 F8 將其轉換為符號。當出現“轉換為符號”對話方塊時,鍵入“mov_box”作為符號的名稱,選擇“影片剪輯”行為,然後按“確定”。選擇您繪製的矩形,併為其命名為“box”。

步驟 2

現在右鍵單擊時間軸視窗中的關鍵幀,然後從彈出視窗中選擇“操作”以顯示“操作”視窗。顯示視窗後,開啟高階模式 並寫入以下內容

 box._rotation = 45;

現在透過按 Ctrl + Enter 測試影片,您將看到結果。

質量屬性並不重要。它只改變場景的質量。但它不會改變物件的質量,因為它的質量屬性已設定。相反,它會改變整個影片的質量。例如,如果您編寫以下內容

 box._quality = "LOW";

那麼這將降低 box 物件的質量,以及所有其他物件的質量。

此屬性更改或讀取物件的名稱。要了解如何使用此屬性,讓我們對其進行測試。我們將使用我們在學習“旋轉”屬性時使用的示例。右鍵單擊時間軸視窗中的關鍵幀以檢視“操作”視窗。現在將以下幾行新增到程式碼中

 box._name = "box2";
 box._rotation = 45;

測試影片,您會發現沒有任何變化。為什麼?因為您將“box”的名稱更改為“box2”,所以現在沒有名為“box”的物件。但如果您只將第二行中的“box”替換為“box2”,它將變為“box2._rotation = 45;”,那麼透過測試影片,您會發現框已旋轉。

Alpha 為物件提供透明度。如果 Alpha 值設定為 0,則物件完全不可見。如果值設定為 100,則物件完全可見。您可以在設計時透過在屬性視窗的“顏色”組合框中選擇“Alpha”,以及在執行時透過使用 ActionScript 來為您的物件設定 Alpha 值。要測試此功能,請將以下行新增到前面的示例中。

 box._alpha = 30;

以下行將使框透明。

華夏公益教科書