AS3處理物件

2021-08-26 14:17:35 字數 3760 閱讀 1539

as3處理物件

2023年07月14日

屬性 屬性表示某個物件中繫結在一起的若干資料塊中的乙個。song 物件可能具有名為 artist 和 title 的屬性;movieclip 類具有 rotation、x、width 和 alpha 等屬性。您可以像使用單個變數那樣使用屬性;事實上,可以將屬性簡單地視為包含在物件中的「子」變數。

以下是一些使用屬性的 actionscript **的示例。以下**行將名為 square 的 movieclip 移動到 100 個畫素的 x 座標處:

square.x = 100;

此**使用 rotation 屬性旋轉 square movieclip,以便與 ******** movieclip 的旋轉相匹配:

square.rotation = ********.rotation;

此**更改 square movieclip 的水平縮放比例,以使其寬度為原始寬度的 1.5 倍:

square.scalex = 1.5;

請注意上面幾個示例的通用結構:將變數(square 和 ********)用作物件的名稱,後跟乙個句點 (.) 和屬性名(x、rotation 和 scalex)。句點稱為點運算子,用於指示您要訪問物件的某個子元素。整個結構「變數名-點-屬性名」的使用類似於單個變數,作為計算機記憶體中的單個值的名稱。

方法 shortfilm.play();

shortfilm.stop();

shortfilm.gotoandstop(1);

正如您所看到的一樣,您可以通過依次寫下物件名(變數)、句點、方法名和小括號來訪問方法,這與屬性類似。小括號是指示要呼叫方法(即指示物件執行該操作)的方式。有時,為了傳遞執行動作所需的額外資訊,將值(或變數)放入小括號中。這些值稱為方法引數。例如,gotoandstop() 方法需要知道應轉到哪一幀,所以要求小括號中有乙個引數。有些方法(如 play() 和 stop())自身的意義已非常明確,因此不需要額外資訊。但書寫時仍然帶有小括號。

與屬性(和變數)不同的是,方法不能用作值佔位符。然而,一些方法可以執行計算並返回可以像變數一樣使用的結果。例如,number 類的 tostring() 方法將數值轉換為文字表示形式:

var numericdata:number = 9; var textdata:string = numericdata.tostring();

例如,如果希望在螢幕上的文字欄位中顯示 number 變數的值,應使用 tostring() 方法。textfield 類的 text 屬性(表示在螢幕上顯示的實際文字內容)被定義為 string,所以只能包含文字值。下面的一行**將變數 numericdata 中的數值轉換為文字,然後使這些文字顯示在螢幕上名為 calculatordisplay 的 textfield 物件中:

calculatordisplay.text = numericdata.tostring();

事件 我們已經介紹了電腦程式就是計算機分步執行的一系列指令。一些簡單的電腦程式僅包括計算機執行的幾個步驟以及程式的結束點。然而,actionscript 程式可以保持執行、等待使用者輸入或等待其它事件發生。事件是確定計算機執行哪些指令以及何時執行的機制。

本質上,事件就是所發生的、actionscript 能夠識別並可響應的事情。許多事件與使用者互動有關 ― 如使用者單擊按鈕或按鍵盤上的鍵,但也有其它型別的事件。例如,如果使用 actionscript 載入外部影象,有乙個事件可讓您知道影象何時載入完畢。本質上,當 actionscript 程式正在執行時,adobe flash player 和 adobe air 只是坐等某些事情的發生,當這些事情發生時,它們將執行您為這些事件指定的特定 actionscript **。

建立物件例項

當然,在 actionscript 中使用物件之前,該物件首先必須存在。建立物件的步驟之一是宣告變數;然而,宣告變數僅僅是在計算機的記憶體中建立乙個空位置。在嘗試使用或操作變數之前,您必須為變數指定實際值(即建立乙個物件並將之儲存在變數中)。建立物件的過程稱為例項化 物件,也就是建立特定類的例項。

有一種建立物件例項的簡單方法完全不涉及 actionscript。在 flash 中,當將乙個影片剪輯元件、按鈕元件或文字字段放置在舞台上,並在「屬性」檢查器中為它指定例項名時,flash 會自動宣告乙個擁有該例項名的變數、建立乙個物件例項並將該物件儲存在該變數中。同樣,在 adobe flex builder 中,當您在 mxml 中建立乙個元件(通過用 mxml 標籤進行編碼或通過將元件放置在處於設計模式下的編輯器中)並為該元件分配乙個 id(在 mxml 標記中或在 flex 屬性檢視中)時,該 id 會成為乙個 actionscript 變數的名稱,並且會建立該元件的乙個例項並將之儲存在該變數中。

然而,您不會總是希望直觀地建立物件。還可以通過幾種方法來僅使用 actionscript 建立物件例項。首先,借助幾個 actionscript 資料型別,可以使用文字表示式(直接寫入 actionscript **的值)建立乙個例項。下面給出了一些示例:

文字數字值(直接輸入數字):

var somenumber:number = 17.239; var somenegativeinteger:int = -53; var someuint:uint = 22;

var firstname:string = "george"; var soliloquy:string = "to be or not to be, that is the question...";

文字布林值(使用字面值 true 或 false):

var niceweather:boolean = true; var playingoutside:boolean = false;

文字陣列值(在方括號中包含以逗號分隔的值列表):

var seasons:array = ["spring", "summer", "autumn", "winter"];

文字 xml 值(直接輸入 xml):

var employee:xml = harold webster ;

actionscript 還為 array、regexp、object 和 function 資料型別定義了文字表示式。有關這些類的詳細資訊,請參閱處理陣列、使用正規表示式和object 資料型別。

對於其它任何資料型別而言,要建立乙個物件例項,應將 new 運算子與類名一起使用,如下所示:

var racecar:movieclip = new movieclip(); var birthday:date = new date(2006, 7, 9);

使用 new 運算子建立物件通常稱為「呼叫類的建構函式」。建構函式是在建立類的例項的過程中呼叫的一種特殊方法。請注意,當以此方法建立例項時,請在類名後加上小括號,有時還可以指定引數值 ― 呼叫方法的同時還需執行這兩項操作。

請注意,甚至對於可使用文字表示式建立例項的資料型別,也可以使用 new 運算子來建立物件例項。例如,下面的兩行**執行的是相同的操作:

var somenumber:number = 6.33; var somenumber:number = new number(6.33);

熟悉使用 new classname() 建立物件的方法是非常重要的。如果需要建立無視覺化表示形式(因而無法通過將專案放置在 flash 舞台上來建立,也無法在 flex builder 的 mxml 編輯器的設計模式下建立)的 actionscript 資料型別的乙個例項,則只能通過使用 new 運算子在 actionscript 中直接建立物件來實現此目的。

具體到 flash 中,new 運算子還可用於建立已在庫中定義、但沒有放在舞台上的影片剪輯元件的例項。有關此項內容的詳細資訊,請參閱使用 actionscript 建立 movieclip 物件。

python3 處理檔案

fhand open text.txt python裡面的open 函式返回乙個file handler,如果你print fhand 的話,得到一些跟檔案有關的資訊 name text.txt mode r encoding us ascii 今天實現了乙個讀取每一行,分別輸出並統計行數的功能 f...

C 學習筆記3 處理資料

c primer plus 第6版 讀書筆記 知識點 1.oop的本質是設計並擴充套件自己的資料型別。2.變數命名規則 字母字元 數字 下劃線 第乙個字元不能是數字 區分大小寫 不能使用關鍵字 以兩個下劃線或下劃線加大寫字母打頭的名稱被保留給實現 編譯器及使用的資源 使用,以乙個下劃線開頭的名稱被保...

Python3處理HTTP請求

python3處理http請求的包 http.client,urllib,urllib3,requests 其中,http 比較 low level,一般不直接使用 urllib更 high level一點,屬於標準庫。urllib3跟urllib類似,擁有一些重要特性而且易於使用,但是屬於擴充套件...