欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

flash action 詳解(6)_Flash教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:flash action 詳解(5)
對象|Object對象是Actionscript中的一個重要數(shù)據(jù)類型.說得更清楚一些,它就是現(xiàn)在大多數(shù)編程語言中的類(Class).其實在Flash中使用的MovieClip其實

第 3 章: 條件和循環(huán)--綜述
Actions cript 的條件和循環(huán)語句有 if, else, else if, for, while, do...while, for...in 和tch. 在 Flash 中它們被叫做流程控制動作(Action), 但實際上, 其實質與其它程序語言沒什么不一樣的.
因為條件和循環(huán)語句是程序語言中最基礎的, 也是最具有實用價值的語句, 所以要在這里仔細講解一下. 對于有 C 和 Java 等編程經(jīng)驗的讀者隨意瀏覽一下就可以了.
條件語if句--if
可以說是程序語言中最基本的條件判定語句. 無論在任何語言中都有它的身影.
由下面的例子可以了解它的格式:
name = "SiC";
//下面是 if 語句
if(name == "SiC"){
trace("作者");
}
if 語句通過判定其后圓括號內的邏輯表達式是否為 true 來確定是否執(zhí)行大括號內的語句. 假如邏輯表達式 name == "SiC" 返回值為真, 就在輸出窗口(Output Window)內顯示"作者", 否則就不執(zhí)行.
然后讓我們設想一下下面例子的效果:
if(1){
trace("總是執(zhí)行");
}
假如你還記得前面數(shù)據(jù)類型的內容, 那么應該可以看出, 這時的 if 語句基本上是多余的, 因為對于常量 1, 邏輯表達式的值恒為 true(其實 1 就是邏輯值 true 的數(shù)值表示形式). 但對于常量 0, 則永遠為 false. 你可以試試把上例中的 1 改成一個字符串常量(例如 "hi!")看看會有什么效果.
再看一個例子:
name = "SiC";
//下面是 if 語句
if(name = "SiC"){
trace("作者");
}
比較一下看這個例子與第一個例子有什么不同? 不同之處就在于第一個用了 ==, 而這個用了 =. 對于這個例子, if 的判定永遠為 true. 想想為什么? 問題就在于使用了賦值運算符 = 而不是邏輯運算符 ==. 對于賦值運算, 其返回的邏輯值總是 true. 這也是初學者常犯的錯誤.
一定要注重區(qū)分賦值運算符 = 和邏輯運算符 ==. 否則你會碰到一些莫名其妙的錯誤和問題, 而且語法檢查也找不出錯誤(因為賦值運算表達式也是有效的條件表達式). 所以請記住, Actions cript 的相等邏輯運算符是 == 而不是 =.
if...else
假如想要在判定條件不成立時執(zhí)行另一項操作時怎么辦? 很簡單, 在 if 語句后面加上個 else 語句塊就可以了:
name = "未知";
//下面是 if...else 語句
if(name == "SiC"){
trace("作者");
} else {
trace("未知");
}
很簡單吧? 只要把在判定結果為假時要執(zhí)行的語句放在 else 后的大括號里就行了.
if...else if
假如要進行很多個條件判定怎么辦? 也好辦, 用 else if 解決:
name = "Sam";
//下面是 if...else if 語句
if(name == "SiC"){
trace("作者");
} else if(name == "Flash MX") {
trace("Flash MX 是軟件名稱.");
} else if(name != "未知") {
trace("誰是 " name "?");
} else {
trace("未知");
}
你可以接任意多個的 else if 來進行多個條件的判定, 最后的 else 語句塊可有可無(根據(jù)實際需要選用). 唯一不足的就是 else if 太多時執(zhí)行速度較慢(在其它程序語言中也是一大問題). 這時就輪到tch 出場了mynumber = 3; //賦值給 mynumber
//下面是tch 語句case 1:
trace ("這是我希望得到的數(shù)字.");
break;
case 2:
trace ("這個數(shù)字比我的小一點.");
break;
case 3:
trace ("這是我的數(shù)字.");
break;
default:
trace ("這不是我要的數(shù)字.")
}
上面的例子是一個完整的tch 語句塊. 在 case 要害字后面的就是需要滿足的條件, 假如都不滿足, ActionScipt 會查找是否存在 default 語句塊, 假如存在, 則執(zhí)行其中的語句. 另外, 你可能已經(jīng)發(fā)現(xiàn)在每個語句塊后都有一個 break 要害字, 為什么呢? 因為假如沒有用 break 來跳出tch 條件選擇語句, 程序會繼續(xù)向下搜索滿足條件的 case 項目(包括 defualt 塊)并執(zhí)行其中的語句. 下面是一個修改后的例子:
mynumber = 3; //賦值給 mynumber
//下面是沒有加 break 的tch 語句case 1:
trace ("這是我希望得到的數(shù)字.");
case 2:
trace ("這個數(shù)字比我的小一點.");
case 3:
trace ("這是我的數(shù)字.");
default:
trace ("這不是我要的數(shù)字.")
}
運行一下這個例子, 你會發(fā)現(xiàn)會同時輸出了 "這是我的數(shù)字" 和 "這不是我要的數(shù)字". 為什么? 因為沒有了 break, 在運行了滿足條件的 case 3: 語句塊后, 條件選擇語句仍會繼續(xù)執(zhí)行, 而 default 塊作為默認條件, 它總是會被執(zhí)行, 從而產生了這樣的結果. 一些常見的程序錯誤也就由此而來.
在 Actions cript 中還有一個用于循環(huán)的 continue 命令, 它可以直接跳到所在循環(huán)的條件檢測部分(即立即進行下一次循環(huán)的條件判定). 這個命令不常用到, 所以在這里沒有講解. .

分享:flash action 詳解(4)
在實際應用中,有一些非凡的字符不能直接輸入在字符串中,例如不能在字符串中直接輸入引號(會破壞字符串的完整性).這時我們就需要用到轉義字符了(Escaping).

來源:設計前沿網(wǎng)上收集//所屬分類:Flash教程/更新時間:2008-03-05
相關Flash教程