AS3的百條常用知識收藏

2021-09-05 21:10:44 字數 3731 閱讀 5971

【確保類是絕不會有子類,使用final】

final public class example{}

【super關鍵字的使用】

super(); //父類的建構函式,只能在類例項建構函式內部使用

super.propertyname; //呼叫父類的屬性,屬性需要宣告為public或protected

super.methodname(); //呼叫父類的方法,方法需要宣告為public或protected

【建立常數,使用關鍵字const而不是var】

static public const example:string = 「example」;

【判斷客戶端系統】

flash.system.capabilities.os

【檢測系統語言】

flash.system.capabilities.language

【判斷使用者是否啟用了ime(輸入法編輯器)】

flash.system.ime.enabled

【檢測螢幕的解析度】

flash.system.capabilities.screenresolutionx

flash.system.capabilities.screenresolutiony

【把彈出視窗居中的演算法】

x = (舞台寬/2)-(視窗寬/2)

y = (舞台高/2)-(視窗高/2)

【控制影片配合player的方式,包括縮放問題】

stage.scalemode

可供選擇值:flash.display.stagescalemode

【舞台的對齊方式】

stage.align

可供選擇值:flash.display.stagealign

【隱藏flash player的右鍵選單】

stage.showdefaultcontextmenu = false;

【檢測系統是否具有音訊功能】

flash.system.capabilities.hasaudio

【顯示 flash player 中的」安全設定」面板】

flash.system.security.showsettings();

可供選擇項:flash.system.securitypanel

【讓其它域的.swf訪問本域的.swf】

在本域的.swf檔案裡加上:flash.system.security.allowdomain()

或者使用安全策略檔案」crossdomain.xml」.在flash 8以前,這個檔案必須放在.swf所在域的根目錄,現在,你可以使用flash.system.security.loadpolicyfile(),指定安全策略檔案所在的位置.拒絕任何域的做法是在標籤內什麼也不填,安全策略檔案也支援通用字元 「*」:

<?xml version=」1.0″?>

【數字的不同進製之間的轉換】

parseint(str:string, radix:uint = 0):number 返回十進位制的數,引數radix表示要分析的數字的基數.如果省略radix,就預設為10,除非字串的開頭是」0x」,」0x」或」0″:

trace(parseint(」0×12″)); //設定radix為16,輸出:18

trace(parseint(」017″)); //設定radix為8,輸出:15

或者使用number,uint和int物件的tostring(radix)方法.

【使用math.round()對乙個數取整,四捨五入】

math.round()

trace(math.round(204.499)); //輸出:204

trace(math.round(401.5)); //輸出:402

【使用math.floor()對乙個數向下取整,就是只要整數部分而不理會小數分】

trace(math.floor(204.99)); //輸出:204

【使用math.ceil()對乙個數向上取整,只要小數部分不為零,整數部分就加1】

trace(math.ceil(401.01)); //輸出:402

【產生乙個隨機數】

使用math.random()產生乙個偽隨機數n,其中 0 <= n < 1

【把數字取至最近的小數點位,即指定精確度】

1. 決定你要取的數字的小數點位數:例如,如果你想把90.337取成90.34,就表示你要取到兩位小數點位,也就是說你想取至最近的0.01;

2. 讓輸入值除以步驟1所選的數字(此例為0.01);

3. 使用math.round()把步驟2所計得的值取成最近的整數;

4. 把步驟3所得的結果乘以步驟2用於除法的那個值.

例如,要把90.337取成兩個小數點位數,可以使用:

trace(math.round(90.337/0.01)*0.01); //輸出:90.34

【把數字取成乙個整數的最接近倍數值】

例1,這樣會把92.5取成5的最近倍數值:

trace(math.round(92.5/5)*5); //輸出:95

例2,這樣會把92.5取成10的最近倍數值:

trace(math.round(92.5/10)*10); //輸出:90

【在指定數值範圍內獲得隨機數】

//可取範圍:[min, max]

private function randrange(min:number, max:number):number

應用例子:

模擬投銀幣,即希望得到隨機布林值(true 或 false): randrange(0, 1);

模擬投骰子,即希望得到隨機六個值: randrange(1, 6);

為避免被快取而需要產生乙個獨一無二的數字追加在url尾端,通常最佳方法是取得當前毫秒數.

【弧度(radian)與度數(degree)之間的轉換】

從弧度轉為度數: degrees = radians * 180 / math.pi

從度數轉為弧度: radians = degrees * math.pi / 180

【計算兩點之間的距離】

勾股定理: c2 = a2 + b2

假設有兩個影片剪輯mc1和mc2,則它們兩點間的距離c為:

var c:number = math.sqrt(math.pow(mc1.x - mc2.x, 2) + math.pow(mc1.y - mc2.y, 2));

【模擬圓周運動】

已知圓心o(x0, y0),半徑r和弧度angle,求圓上任意一點p(x, y)的座標:

x = x0 + (math.cos(angle) * r);

y = y0 + (math.sin(angle) * r);

注意:舞台的x軸正方向水平向右,y軸正方向垂直向下.

【模擬橢圓運動】

已知圓心o(x0, y0),長軸a,短軸b以及弧度angle,求圓上任意一點p(x, y)的座標:

x = x0 + (math.cos(angle) * a);

y = y0 + (math.sin(angle) * b);

【華氏溫度和攝氏溫度之間的轉換】

華氏溫度 = 攝氏度數 * 9 / 5 + 32

攝氏溫度 = (華氏度數 - 32) * 5 /9

【公斤與磅之間的轉換】

公斤 = 磅 * 2.2

磅 = 公斤 / 2.2

關於Flex及AS3的百多條小小知識

www.riahome.cn 數字的不同進製之間的轉換 parseint str string,radix uint 0 number 返回十進位制的數,引數radix表示要分析的數字的基數.如果省略radix,就預設為10,除非字串的開頭是 0x 0x 或 0 trace parseint 0x1...

AS3中常用到的公式

基本三角函式的計算 角的正弦值 對邊 斜邊 角的余弦值 鄰邊 斜邊 角的正切值 對邊 鄰邊 角度制與弧度制的相互轉換 弧度 角度 math.pi 180 角度 弧度 180 math.pi 計算兩點間距離 dx x2 x1 dy y2 y1 dist math.sqrt dx dx dy dy 緩動...

As3 常用到的正值表示式驗證

判斷是否為中文字串 plic function matchchinese word string void else 匹配郵件位址 plic function matchemail email string void else 匹配 plic function matchurl url string...