最佳作法 - 行為指令慣例

關於行為指令慣例

行為是預先編寫的 ActionScript 2.0 程式碼,可以加入至 FLA 檔的某些部分。許多開發人員都會將 ActionScript 程式碼輸入主「時間軸」上的一個或數個影格中,或外部 ActionScript 檔案中。不過,當您使用行為指令時,有時候程式碼是直接放在元件實體上 (例如按鈕、影片片段或組件),而不是放在時間軸上。

ActionScript 3.0 不支援行為。

比較時間軸程式碼和物件程式碼

若要避免分散的 ActionScript 2.0 程式碼造成的問題,請小心規劃使用行為的文件。許多開發人員不將 ActionScript 放在元件實體上,而是將程式碼放在時間軸上 (時間軸程式碼) 或類別中。因為行為指令會將程式碼加入至 FLA 檔中的很多位置,這表示 ActionScript 並不集中,可能會很難尋找。如果程式碼不集中,就很難了解各個程式碼片段之間的互動,也就不可能寫出簡潔的程式碼。此外,分散的程式碼還有可能在偵錯程式碼或編輯檔案時引起問題。

如果您是使用行為指令,請嘗試下列功能來加速處理行為指令及分散之 ActionScript 的工作:

Script 導覽器

可讓您很容易在「動作」面板中找到及編輯時間軸程式碼或個別物件上的程式碼。

尋找和取代

讓您搜尋並取代 FLA 檔案中的字串。

Script 鎖定

讓您在「動作」面板中鎖定來自各種物件的多個指令碼,然後再同時處理。這個方法搭配指令碼導覽器使用效果最佳。

影片結構檢視器

可讓您檢視及組織 FLA 檔案的內容,並可選取元素 (包括指令碼) 以進一步修改。

何時使用行為指令

含有行為的 FLA 檔和不含行為的 FLA 檔之間的主要差異是,您必須用來編輯專案的工作流程。如果您使用行為,就必須選取舞台上的每一個實體,或是選取舞台,然後再開啟「動作」或「行為」面板來進行修改。如果您自己撰寫 ActionScript,並將所有程式碼放在主「時間軸」上,那麼只需要在「時間軸」上進行變更即可。

如果您有包含元件的 FLA 檔,就可以在「舞台」上選取其中一個實體,然後使用「行為指令」面板上的「增加行為指令」選單,將行為指令加入至該實體。您選取的行為指令會使用類似 on() 處理常式的「物件程式碼」,自動將附加至實體的程式碼加入。您也可以使用「行為」面板,在時間軸上選取影格,並將不同的行為加入影格中。

決定建構 FLA 檔的方式。檢查您要在 FLA 檔中以何種方式及在哪個位置使用行為指令和 ActionScript。請考慮下列問題:

  • 行為包含了什麼程式碼?

  • 您需要修改行為程式碼嗎? 如果需要,要修改多少? 如果您想要在任何程度上修改行為指令程式碼,請不要使用行為指令。如果對 ActionScript 進行修改,則通常您會無法使用「行為指令」面板編輯行為指令。而如果您打算在「動作」面板中大量編輯行為指令,通常在某個集中的位置自行撰寫所有 ActionScript 會比較容易。

  • 您需要何種其他的 ActionScript,其他 ActionScript 是否必須與行為指令程式碼進行互動? 從集中的位置較容易進行偵錯與修改。例如,如果時間軸上的程式碼會與物件上的行為指令進行互動,請避免使用行為指令。

  • 您需要使用多少行為?打算要將行為放在 FLA 檔中的哪些位置? 如果您將行為指令全部放在時間軸上,可能在文件中也能正常運作。或者,如果您只使用少量的行為指令,可能就不會影響到工作流程。不過,如果您在許多物件實體上使用多個行為指令,則在「時間軸」上或外部 ActionScript 檔中撰寫自己的程式碼會比較有效率。

請記住,ActionScript 3.0 不支援行為。

以一致的方式使用行為指令

如果行為是您主要或唯一的 ActionScript 來源,請在整個文件中以一致的方式使用行為。當在 FLA 檔中只有少數或沒有額外的程式碼時,或者有一致的系統來管理您所使用的行為指令,請使用行為指令。

如果您要將 ActionScript 加入至 FLA 檔中,請將程式碼放在加入行為的相同位置,並記載加入程式碼的方式和位置。

例如,如果您在「舞台」(物件程式碼) 中的實體上、主時間軸 (影格指令碼) 上和外部 AS 檔案中都放置程式碼,則應該要檢查檔案結構。如果您在上述位置都放置了程式碼,可能會難以管理您的專案。不過,如果您以合乎邏輯的方式使用行為指令,並建構程式碼以在這些行為指令周圍以特定的方式運作 (將所有東西都放在物件實體上),至少工作流程會很一致。文件稍後將會比較容易修改。

共享使用行為指令的檔案

如果您計劃和其他使用者共用 FLA 檔,而且您使用放在物件上或物件內 (例如影片片段) 的 ActionScript,即使其他使用者使用「影片結構檢視器」來搜尋整份文件,也以難找到程式碼的位置。

如果您正在處理的是複雜的文件,請清楚地記錄行為指令的使用。此外,也應根據應用程式的大小,建立流程圖、清單,或在主「時間軸」上的集中位置中使用清楚的文件註解。

如果您建立的 FLA 檔,程式碼位於整份文件的許多位置,且您計畫共用檔案,請在主「時間軸」上的「影格 1」加上註解,告知使用者何處可找到程式碼以及檔案建構的方式。下列範例將示範可告訴使用者 ActionScript 所在位置的註解 (在「影格 1」上):

/* 
    ActionScript placed on component instances and inside movie clips using behaviors. 
    Use the Movie Explorer to locate ActionScript 
*/

如果可以輕易找到程式碼、沒有共享文件,或者所有程式碼都是放在主「時間軸」的影格上,您就不必使用這項技巧。

更快、更輕鬆地獲得協助

新的使用者?