2007
03.22


[此文章僅供ActionScript3.0參考]

ActionScript3.0的嚴謹性是眾所皆知的,雖然有很多Flash的美術設計師對這個 ActionScript3.0 是又恐懼又氣憤,但是我個人是抱著樂觀的態度來迎接他,因為我已經被 ActionScript2.0 許多不統一的寫法邏輯困擾很久了,到了 ActionScript3.0 以後反而覺得輕鬆自在許多,因為裡面的寫法又乾淨又有統一性 (除了 NetStream 這一掛的)。

稍微扯遠了,在 ActionScript3.0 中有一個 as 的運算,這是幹麻用的哩,as 其實有點像形態轉換方法,不過他又不是,舉個例子來說,若是要將某個型態的值給轉換掉,就可以用型態轉換的函數來處理:


//將數字轉換成布林
trace(Boolean("-1″));

這樣一來就能將轉換型態給傳回來,但是 as 是專門拿來處理複雜的型態,例如 Array,Class,DisplayObject等,當某種型態使用 as DataType 時,他會嘗試用該種型態來表示他,否則無法轉換時將會用該型態的內定值來表示之,例如:


var users:Array = new Array("anistar","sung");
trace(users as Array);
//顯示: "anistar,sung" 因為users是陣列
trace(usera as Number);
//顯示: NaN 因為users不是數字

這樣應該就比較會有點概念了,那這個是要幹麻用的哩,這就要講到 ActionScript3.0 當中許多好用的新類別與方法,這以後再說,我舉個簡單的例子,例如若要產生一個 ArrayCollection 那個在 ArrayCollection 的類別參數中就必須使用陣列,所以這時候就很好使用了,我舉兩個例子:

var users:ArrayCollection = dataGrid.dataProvider as ArrayCollection;

或是:

var users:ArrayCollection = new ArrayCollection(myArray as Array);

當然,不是說不寫就一定會錯,有時候不是程式能跑出來就好了,最好還是嚴謹至上,必盡如果有BUG出現時,這時候相信找錯的時間上會減少許多。


相關文章:
  • Bitmap與BitmapData
  • Flex/Flash/AIR 如何開啟bmp圖檔
  • iPhone上的ActionScript 3.0 API參考程式
  • Flash/Flex上傳檔案前顯示圖片內容
  • 從XML中取出資料當作另一個XML的篩選條件
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    No Comment.

    Add Your Comment