Flash AS3.0入門教程
Flash在電腦中是最常用的軟件,那么要如何去學好Flash呢?下面是陽光網整理的Flash AS3.0入門教程,希望對你有所幫助。
Flash AS3.0入門教程一:
Flash AS3.0入門教程-新建一個類
創建在項目中使用的類的過程可能令人望而生畏。但是,此過程中更難的部分是設計類,即
確定類中將包含的方法、屬性和事件。
1. 請考慮一下該類的實例將在應用程序中扮演的角色。通常,對象擔任以下三種角色之一:
■ 值對象:這些對象主要用作數據的容器 — 也就是說,它們可能擁有若干個屬性和很
少的幾個方法(有時沒有方法)。值對象通常是明確定義的項目的代碼表示,例如音
樂播放器應用程序中的 Song 類(表示單個實際的歌曲)或 Playlist 類(表示概念
上的一組歌曲)。
■ 顯示對象:它們是實際顯示在屏幕上的對象。例如,用戶界面元素(如下拉列表或狀
態顯示)和圖形元素(如視頻游戲中的角色)等等就是顯示對象。
■ 應用程序結構:這些對象在應用程序執行的邏輯或處理方面扮演著廣泛的支持角色。
例如,在仿生學中執行某些計算的對象;在音樂播放器應用程序中負責刻度盤控件與
音量顯示之間的.值同步的對象;管理視頻游戲中的規則的對象;或者在繪畫應用程
序中加載保存的圖片的對象。
2. 確定類所需的特定功能。不同類型的功能通常會成為類的方法。
3. 如果打算將類用作值對象,請確定實例將要包含的數據。這些項是很好的候選屬性。
4. 由于類是專門為項目而設計的,因此最重要的是提供應用程序所需的功能。回答下列問
題可能會對您很有幫助:
■ 應用程序將存儲、跟蹤和處理哪些信息?確定這些信息有助于您識別可能需要的值對
象和屬性。
■ 需要執行哪些操作 — 例如,在應用程序首次加載時,在單擊特定的按鈕時,在影片
停止播放時,分別需要執行哪些操作?這些是很好的候選方法(如果“動作”僅涉
及更改單個值,則是很好的候選屬性)。
■ 對于任何給定的動作,要執行該動作,該類需要了解哪些信息?這些信息將成為方法
的參數。
■ 隨著應用程序開始工作,應用程序的其它部分需要了解類中的哪些內容將發生更改?
這些是很好的候選事件。
5. 如果有一個現有的對象與您需要的對象類似,只是缺少某些您需要添加的一些額外功
能,應考慮創建一個子類(在現有類的功能的基礎之上構建的類,不需要定義它自己的
所有功能)。例如,如果您希望創建一個將作為屏幕上的可視對象的類,可將一個現有顯
示對象(如 Sprite 或 MovieClip)的行為用作該類的基礎。在這種情況下,MovieClip
(或 Sprite)是“基類”,而您的類是該類的擴展。有關創建子類的詳細信息,請參閱
編寫類的代碼
一旦制訂了類的設計計劃,或至少對該類需要跟蹤哪些信息以及該類需要執行哪些動作有了
一定了解后,編寫類的實際語法就變得非常簡單了。
下面是創建自己的 ActionScript 類的最基本步驟:
1. 在特定于 ActionScript 的程序(如 Flex Builder 或 Flash)、通用編程工具(如
Dreamweaver)或者可用來處理純文本文檔的任何程序中打開一個新的文本文檔。
2. 輸入 class 語句定義類的名稱。為此,輸入單詞 public class,然后輸入類名,后跟一
個左大括號和一個右大括號,兩個括號之間將是類的內容(方法和屬性定義)。例如:
public class MyClass
{
}
單詞 public 表示可以從任何其它代碼中訪問該類。
3. 鍵入 package 語句以指示包含該類的包的名稱。語法是單詞 package,后跟完整的包名
稱,再跟左大括號和右大括號(括號之間將是 class 語句塊)。例如,我們將上一步中
的代碼改為:
package mypackage
{
public class MyClass
{
}
}
4. 使用 var 語句,在類體內定義該類中的每個屬性;語法與用于聲明任何變量的語法相同
(并增加了 public 修飾符)。例如,在類定義的左大括號與右大括號之間添加下列行將
創建名為 textVariable、numericVariable 和 dateVariable 屬性:
public var textVariable:String = "some default value";
public var numericVariable:Number = 17;
public var dateVariable:Date;
5. 使用與函數定義所用的相同語法來定義類中的每個方法。例如:
■ 要創建 myMethod() 方法,應輸入:
public function myMethod(param1:String, param2:Number):void
{
// 使用參數執行某個操作
}
■ 要創建一個構造函數(在創建類實例的過程中調用的特殊方法),應創建一個名稱與
類名稱完全匹配的方法:
public function MyClass()
{
// 為屬性設置初始值
// 否則創建該對象
textVariable = "Hello there!";
dateVariable = new Date(2001, 5, 11);
}
如果沒有在類中包括構造函數方法,編譯器將自動在類中創建一個空構造函數(沒有
參數和語句)。
您還可以定義其它幾個類元素。這些元素更為復雜。
■ “存取器”是方法與屬性之間的一個特殊交點。在編寫代碼來定義類時,可以像編寫方法
一樣來編寫存取器,這樣就可以執行多個動作(而不是像在定義屬性時那樣,只能讀取
值或賦值)。但是,在創建類的實例時,可將存取器視為屬性 — 僅使用名稱來讀取值或
賦值。
■ ActionScript 中的事件不是使用特定的語法來定義的。應使用 EventDispatcher 類的功
能來定義類中的事件,以便跟蹤事件偵聽器并將事件通知給它們。
有關組織類的一些建議
與早期的 ActionScript 版本不同,ActionScript 3.0 沒有一個文件對應一個類的限制,即不
限制每個文件只能使用一個類。使用 ActionScript 3.0,您可以將多個類的源代碼保存到單
個 .as 文件中。在某些情況下,將多個類包裝到單個源文件中可能看似比較方便,但通常而
言,這被認為是不好的編程習慣,原因有二:
■ 如果將多個類包裝到一個大文件中,則重用每個類將非常困難。
■ 當文件名與類名不對應時,找到特定類的源代碼將非常困難。
由于以上原因,Adobe 建議您始終將每個類的源代碼保存在其自己的文件中,并為文件指定
與類相同的名稱。
【Flash AS3.0入門教程】相關文章: