使用 ActionScript 建立應用程式
撰寫 ActionScript 來建立應用程式時,熟悉語法和要使用的類別名稱僅是整個程序中最為基本的條件而已。大部分的 Flash Platform 文件都包含這兩個主題 (語法和使用 ActionScript 類別)。不過,若要建立 ActionScript 應用程式,您同樣需要了解知道以下資訊:
撰寫 ActionScript 時可以使用什麼程式?
如何編排 ActionScript 程式碼?
如何在應用程式中包括 ActionScript 程式碼?
開發 ActionScript 應用程式時要採取的步驟?
組織程式碼的選項
您可以使用 ActionScript 3.0 程式碼來建立許多程式,從簡單的動畫,一直到複雜的主從式交易處理系統。視所要建立的應用程式類型而定,請使用下面的一或多個不同方法,將 ActionScript 加入專案。
將程式碼儲存在 Flash Professional 時間軸的影格
在 Flash Professional 中,您可以將 ActionScript 程式碼加入時間軸的任何影格。這個程式碼會在影片播放 (也就是播放磁頭進入該影格) 的同時執行。
將 ActionScript 程式碼放入影格,便可以輕鬆地將行為加入 Flash Professional 建立的應用程式。您可以將程式碼加入主要時間軸的任何影格,或任何 MovieClip 元件時間軸的任何影格。但是,這種彈性有其代價。當您建立較大的應用程式時,很容易就會忘記哪些影格儲存哪些 Script。這種複雜結構會使得應用程式在日後難以維護。
很多開發人員只會將程式碼放在時間軸的第一個影格,或 Flash 文件的特定圖層,藉此在 Flash Professional 中簡化 ActionScript 程式碼的組織。區隔程式碼比較容易從 Flash FLA 檔找出和維護程式碼。不過,如果未經複製程式碼並貼到新的檔案中,相同的程式碼不可以用於另一個 Flash Professional 專案。
如果以後想更容易在其他 Flash Professional 專案中使用您的 ActionScript,請將程式碼儲存至外部的 ActionScript 檔案 (副檔名為 .as 的文字檔)。
在 Flex MXML 檔案中嵌入程式碼
在 Flash Builder 之類的 Flex 開發環境中,您可以在 Flex MXML 檔案的 <fx:Script> 標籤中包含 ActionScript 程式碼。不過,這種技術會增加大型專案的複雜度,會更不容易在另一個 Flex 專案中使用相同的程式碼。為了以後更易於在其他 Flex 專案使用您的 ActionScript 程式碼,請將程式碼儲存至外部的 ActionScript 檔案。
備註: 您可以為 <fx:Script> 標籤指定來源參數。使用來源參數可以讓您從外部檔案「匯入」ActionScript 程式碼,就像是直接在 <fx:Script> 標籤中輸入一樣。不過,您所使用的來源檔案無法定義自己的類別,這樣會限制其重複使用的可能性。
將程式碼儲存在 ActionScript 檔案中
如果您的專案有大量的 ActionScript 程式碼,最好能將程式碼組織在不同的 ActionScript 來源檔案 (即副檔名為 .as 的文字檔) 中。ActionScript 檔案的結構有兩種,您可以視其在應用程式中的用途來決定使用哪一種。
非結構化 ActionScript 程式碼:ActionScript 程式碼行 (包括陳述式或函數定義) 的寫法就像直接輸入時間軸 Script、MXML 檔案一樣。
以這種方式撰寫的 ActionScript 可以用 ActionScript 中的 include 陳述式存取,或 Flex MXML 中的 <fx:Script> 標籤存取。ActionScript include 陳述式會告訴編譯器,在特定位置以及程式檔中既有的範圍包含外部 ActionScript 檔案的內容。結果與直接在該處輸入程式碼相同。在 MXML 語言中,使用 <fx:Script> 標籤加上一個來源特質可以識別編譯器在應用程式中該處載入的外部 ActionScript。例如,下列標籤會載入名為 Box.as 的外部 ActionScript 檔案:
<fx:Script source="Box.as" />
ActionScript 類別定義:ActionScript 類別的定義,包括其方法和屬性定義。
當您定義類別時,您可以建立類別的實體並使用其屬性、方法和事件,就可以存取類別中的 ActionScript 程式碼。使用自己的類別和使用任何內建的 ActionScript 類別並無不同,而且需要兩個部分:
使用 import 陳述式指定類別的完整名稱,讓 ActionScript 編譯器知道從何處找到類別。例如,要在 ActionScript 中使用 MovieClip 類別,可以使用它的完整名稱 (包括套件和類別) 匯入類別。
import flash.display.MovieClip;
或者,您也可以匯入包含 MovieClip 類別的套件,就等於是針對套件的各類別分別寫入 import 陳述式:
import flash.display.*;
對於必須匯入類別,才能在程式碼中使用該類別的規則而言,最上層的類別是唯一的例外。這些類別並未定義在套件之中。
撰寫使用特定類別名稱的程式碼。例如,宣告類別的變數及其資料類型,同時建立類別的實體,以便儲存至變數。藉由在 ActionScript 程式碼中使用類別,您便可以指示編譯器載入該類別的定義。例如,已知有一個稱為 Box 的外部類別,這個陳述式會建立 Box 類別的實體:
var smallBox:Box = new Box(10,20);
編譯器第一次參照 Box 類別時,會搜尋可用的原始程式碼,以便找到 Box 類別定義。
選擇正確的工具
您可以使用多個工具的其中一個 (或同時使用多個工具),撰寫以及編輯自己的 ActionScript 程式碼。
Flash Builder
使用 Flex 框架建立專案或建立主要由 ActionScript 程式碼構成的專案時,Adobe Flash Builder 是首選工具。Flash Builder 也包含功能齊全的 ActionScript 編輯器、視覺版面以及 MXML 編輯功能。它可以用來建立 Flex 或純 ActionScript 專案。Flex 具備多項優點,包括有許多預先建立的使用者介面控制項、彈性的動態版面配置控制項,以及內建多項機制,可讓您使用遠端資料並將外部資料連結到使用者介面元素。不過,由於需要額外的程式碼,才能提供這些功能,因此使用 Flex 的專案所擁有的 SWF 檔案,其大小會比非 Flex 的 SWF 專案更大。
如果您使用 Flex 建立功能完整的資料導向網際網路應用程式時,請使用 Flash Builder。當您想編輯 ActionScript 程式碼、編輯 MXML 程式碼,以及編排應用程式視覺版面時,都可以使用這個工具。
很多建立大量涉及 ActionScript 專案的使用者,都會使用 Flash Professional 來建立視覺資源,並使用 Flash Builder 做為 ActionScript 程式碼的編輯器。
Flash Professional
除了圖形和動畫建立功能之外,Flash Professional 還包括各種處理 ActionScript 程式碼的工具。程式碼可以附加至 FLA 檔案中的元素或附加至外部的純 ActionScript 檔案。Flash Professional 最適用於處理涉及大量動畫或視訊的專案。當您想自行建立大部分的圖形資源時,就可瞭解其價值。使用 Flash Professional 開發 ActionScript 專案的另一個理由,就是在相同的應用程式中建立視覺資源以及撰寫程式碼。Flash Professional 也包括預先建立的使用者介面組件。您可以使用這些組件,讓 SWF 檔案變小一些,以及使用視覺工具,建立這些組件的視覺效果,使用於專案中。
Flash Professional 提供兩種工具來撰寫 ActionScript 程式碼:
協力廠商 ActionScript 編輯器
由於 ActionScript (.as) 檔案是簡單的文字檔,因此只要程式能夠編輯純文字檔,就可用來撰寫 ActionScript 檔案。除了 Adobe 的 ActionScript 產品,也有幾家協力廠商推出具備 ActionScript 專屬功能的文字編輯程式。您可以使用任何文字編輯器程式撰寫 MXML 檔案或 ActionScript 類別。然後您可以使用 Flex SDK,從這些檔案建立應用程式。專案可以使用 Flex 或是純 ActionScript 應用程式。也有部分開發人員使用 Flash Builder 或協力廠商 ActionScript 編輯器來撰寫 ActionScript 類別,再結合 Flash Professional 用於建立圖形內容。
選擇協力廠商 ActionScript 編輯器的理由包括以下幾項:
您偏好在個別程式中撰寫 ActionScript 程式碼,並於 Flash Professional 中設計視覺元素。
在設計非 ActionScript 程式時使用了某項應用程式 (例如用其它程式語言建立 HTML 網頁或建立應用程式)。您想使用同樣的應用程式來撰寫 ActionScript 程式碼。
想要使用 Flex SDK 建立純 ActionScript 或 Flex 專案,但不想用到 Flash Professional 或 Flash Builder。
提供 ActionScript 專屬支援的幾個重要程式碼編輯器包括:
ActionScript 開發程序
不論您的 ActionScript 專案大小為何,利用一種程序來設計以及開發應用程式讓工作更有效率、更實用。下列步驟說明使用 ActionScript 3.0 建立應用程式的基本開發程序:
設計應用程式。
建立應用程式之前,先用某種方式描述要建立的應用程式。
撰寫 ActionScript 3.0 程式碼。
您可以使用 Flash Professional、Flash Builder、Dreamweaver 或文字編輯器建立 ActionScript 程式碼。
建立 Flash 或 Flex 專案來執行程式碼。
在 Flash Professional 中,建立一個 FLA 檔案、指定發佈設定值、將使用者介面組件新增至應用程式,以及參照 ActionScript 程式碼。在 Flex 中,定義應用程式、使用 MXML 新增使用者介面組件,以及參照 ActionScript 程式碼。
發佈並測試 ActionScript 應用程式。
測試應用程式涉及到從開發環境中執行應用程式,同時確定您希望做到的每一件事,統統都做到了。
您不一定需要照著上述步驟的順序,或等到某項步驟完成再進行下一步。例如,您可以設計應用程式的某個畫面 (步驟 1),接著建立圖形、按鈕等 (步驟 3),然後再撰寫 ActionScript 程式碼 (步驟 2) 和測試 (步驟 4)。或者,您可以先設計部分內容,接著一次加入一個按鈕或介面元素,並分別撰寫其 ActionScript,然後在建立之後進行測試。記住開發程序的這 4 個階段,會很有幫助。不過,在實際的開發中,在各個階段之間適當地往返會更有效率。