Flex相關知識點收藏下 以後逐步添加
typeof、is、as的區別
typeof、is、as都是用於判斷變數類型的,只是各自的傳回值不同。請看下方代碼:
var a:Number=0;
trace(typeof(a));//輸出:Number
trace(typeof(typeof(a)));//輸出:String
trace(a is Number);//輸出:true
trace(a as Number);//輸出:0
trace(a as String);//輸出:null
Null、NaN和undefined的區別
其實Null、NaN和undefined都是變數的預設初始值。變數類型不同,系統給與的初始值就不同:
int,uint - 0
Boolean - false
Number - NaN
String,Array,Object - null
未指定變數類型 - undefined
as3執行階段錯誤中文說明
1000 系統記憶體不足。 系統可用記憶體無法滿足 Flash Player 編譯代碼的需要。請關閉系統上正在啟動並執行某些應用程式或進程。
1001 未實現方法 _。
1002 Number.toPrecision 的範圍是 1 至 21。Number.toFixed 和 Number.toExponential 的範圍是 0 至 20。指定的值不在期望範圍之內。 指定的值不在 precision 參數的期望範圍之內。Number.toPrecision 的範圍是 1 至 21。Number.toFixed 和 Number.toExponential 的範圍是 0 至 20。
1003 radix 參數必須介於 2 至 36 之間;得到 _。 為方法或屬性的 radix 參數傳遞的值小於 2 或大於 36。請傳遞一個介於 2 至 36 之間的值作為 radix 參數。
1004 對不相容的對象調用方法 _。 嘗試調用的方法不適用於指定對象。如果已將原型函數從一個對象複製到另一個對象然後又調用此函數,但目標物件類型與原始物件類型不同,則會發生此錯 誤。請確保目標對象與原始對象的類型相同。有關詳細資料,請參閱 ECMAScript Language Specification(《ECMAScript 語言規範》)第 3 版中的第 15 章。
1005 數組索引不是正整數 (_)。 嘗試使用非正整數的索引值訪問數群組成員。僅傳遞正整數作為數組的索引值。
1006 _ 不是函數。 嘗試調用不存在的函數時,發生此錯誤。請確保正在調用正確的函數且自 ActionScript 2.0 以來此 API 尚未發生更改。此外,請確保正在使用正確的對象。例如,使用以下代碼時,將出現此錯誤(由於最後一行錯誤調用了變數 big 而未調用變數 blg):
var blg:String = “foo”;
var big:Sprite = new Sprite();
var error:int = big.length();
1007 嘗試對非建構函式進行執行個體化。
1008 _ 指代不明確;發現多個匹配的綁定。
1009 無法訪問Null 物件引用的屬性或方法。 計算結果為 null 的對象可以不包含任何屬性。在某些意外(儘管有效)的情況下,可能發生此錯誤。以建立 Sprite 對象的以下代碼為例。由於從未將此 Sprite 對象添加到顯示列表中(使用 DisplayObjectContainer 對象的 addChild() 方法),因此其 stage 屬性設定為 null。在這種情況下,此樣本將產生此錯誤,這是因為 Sprite 對象的 stage 屬性不能擁有任何屬性: Read the rest of this entry »
AS3滑鼠座標總結
滑鼠是Flash裡追主要的互動因素,經常需要偵測滑鼠事件(AS3中滑鼠事件小結)和得到滑鼠的座標。滑鼠座標的擷取可以分為在文檔類和在子類中,兩種不同的情況。
1)如果是在時間軸軸上,或者文檔類上使用:
stage.mouseX 和 stage.mouseY
2)在子類(如_sprite:Sprite)上使用:
_sprite.mouseX 和 _sprite.mouseY
這裡得到的是滑鼠相對於_sprite的座標。如果需要的是相對於舞台的座標,則應該使用localToGlobal,如:
var mousePoint:Point=new Point(_sprite.mouseX, _sprite.mouseY);
mousePoint=_sprite.localToGlobal(mousePoint);
trace("Stage coordinates:"+mousePoint);
註:要使用以上代碼別忘了 import flash.geom.Point;