陣列的基本觀念

使用陣列的簡介

進行程式設計時,您要處理的往往不是單一物件,而是一組項目。例如,在音樂播放應用程式中,可能會有包含多首歌曲並準備播放的清單。您不會希望為清單上的每首歌曲建立不同的變數,而是希望這些 Song 物件最好能全部結合起來,並且能夠以群組的方式加以處理。

陣列是程式設計的元素,可做為一組項目的容器,如歌曲清單等。在大部分情況下,陣列中的所有項目都是相同類別的實體,但是對 ActionScript 來說,這並非必要條件。陣列中的各個項目稱為陣列的「元素」。您可以將陣列想成是變數的檔案抽屜。變數可當做元素以新增至陣列中,就像把檔案夾放進檔案抽屜一樣。當抽屜中有好幾個檔案時,就能將陣列當做單一變數來處理 (如同將整個抽屜搬移至不同位置);您可以將變數當做群組來處理 (就像逐一翻閱檔案夾以尋找資訊),或者是個別存取這些檔案 (如同打開抽屜,選取單一檔案夾)。

舉例來說,假設您要建立音樂播放應用程式,讓使用者可以選取多首曲目並新增至播放清單。那麼在 ActionScript 程式碼中就要有名為 addSongsToPlaylist() 的方法,這個方法會使用單一陣列做為參數。不論清單上新增了多少歌曲 (少數幾首、多首,或甚至只有一首),都只要呼叫 addSongsToPlaylist() 方法一次,將內含 Song 物件的陣列傳送過去即可。在 addSongsToPlaylist() 方法中,您可以使用迴圈逐一瀏覽陣列的元素 (歌曲),並將這些元素實際新增至播放清單。

最常見的 ActionScript 陣列類型是「索引陣列」,這種陣列的每個項目都儲存在經過編號的位置 (稱為「索引」),而編號就像地址一樣,可以用來存取項目。Array 類別則用來代表索引陣列。索引陣列的運作方式可以符合大部分程式設計的需求。多維度陣列是索引陣列的特殊用法,這種索引陣列的元素也同樣是索引陣列 (後者其中還包含了其它元素)。另一種陣列是「關聯陣列」,這種陣列會以字串「索引鍵」而非數值索引來識別各個元素。最後,ActionScript 3.0 還針對進階使用者提供代表「字典」的 Dictionary 類別,這種陣列可以讓您以任何類型的物件,做為辨識元素的索引鍵。

一般陣列工作

本章將說明下列和使用陣列有關的一般活動:

重要概念與術語

下列參考清單包含了您將在本章碰到的重要術語:

逐步執行章節內的範例

當您研讀本章的內容時,可能會想要自行測試其中的部分範例程式碼列表。本章內的程式碼列表基本上都包含了適當的 trace() 若要測試本章內的程式碼列表:

  1. 建立空白的 Flash 文件。
  2. 在「時間軸」中選取關鍵影格。
  3. 開啟「動作」面板,並將程式碼列表複製到 Script 窗格中。
  4. 使用「控制>測試影片」執行程式。

    您會在「輸出」面板中看到 trace() 函數的結果。

測試範例程式碼列表的相關技巧會在測試章節內的範例程式碼列表中詳細說明。


Flash CS3

 

有新的意見加入至這個頁面時,傳送電子郵件給我 | 意見報告

目前頁面: http://livedocs.adobe.com/flash/9.0_tw/main/00000088.html