Flash 動(dòng)作腳本之:資料速查(10)_Flash教程
推薦:Flash 動(dòng)作腳本之:資料速查(9)在腳本中控制流向在腳本中控制流向ActionScript使用if、for、while、do...while和for...in動(dòng)作,依據(jù)某個(gè)條件是否存在執(zhí)行某個(gè)動(dòng)作。一、使用“if”語(yǔ)句檢
使用自定義對(duì)象Flash 5答應(yīng)用戶(hù)自定義函數(shù)來(lái)執(zhí)行一系列語(yǔ)句,對(duì)傳遞過(guò)來(lái)的值進(jìn)行操作,并可返回值。函數(shù)定義好以后,就可以從任何時(shí)間軸(包括載入動(dòng)畫(huà)的時(shí)間軸)調(diào)用它。
可以把函數(shù)想像為一個(gè)“黑箱”。調(diào)用函數(shù)時(shí)給它提供輸入(參數(shù)),它執(zhí)行某些操作后產(chǎn)生輸出(返回值)。 在自定義函數(shù)中,最好對(duì)它的輸入、輸出和用途作具體的注釋?zhuān)褂脩?hù)易于理解和使用。
一、定義函數(shù)
象變量一樣,函數(shù)是附屬于定義它的電影剪輯的。當(dāng)一個(gè)函數(shù)被重新定義時(shí),新的定義取代舊的定義。要定義一個(gè)函數(shù),使用function動(dòng)作,后跟一個(gè)函數(shù)名、要傳遞給函數(shù)的參數(shù)和指出該函數(shù)做什么的ActionScript語(yǔ)句。
下面是一個(gè)稱(chēng)為Circle的函數(shù),有一個(gè)參數(shù)radius :
function Circle(radius) {
this.radius = radius;
this.area = Math.PI * radius * radius;
}注:用于函數(shù)體內(nèi)的要害字this是對(duì)函數(shù)所屬電影剪輯的引用。 也可以通過(guò)創(chuàng)建函數(shù)常量來(lái)定義函數(shù)。函數(shù)常量是指在表達(dá)式中而不是在語(yǔ)句中聲明的不命名的函數(shù)�?梢杂煤瘮�(shù)常量定義函數(shù),返回它的值,把它賦給表達(dá)式中的變量,如下所示:
area = (function () {return Math.PI * radius *radius;})(5);二、給函數(shù)傳遞參數(shù) 參數(shù)是函數(shù)代碼處理的元素。例如,下面的函數(shù)有兩個(gè)參數(shù)
initials和finalScore : function fillOutScorecard(initials, finalScore) {
scorecard.display = initials;
scorecard.score = finalScore;
} 當(dāng)這個(gè)函數(shù)被調(diào)用時(shí),必須把它要求的參數(shù)傳遞給它。該函數(shù)用傳遞過(guò)來(lái)的值取代函數(shù)定義中的參數(shù)。在本例中,scorecard是一個(gè)電影剪輯的實(shí)例名;display和score是實(shí)例中的輸入文本域。下面的函數(shù)調(diào)用把值"JEB"賦給變量display ,把值45000賦給變量score : fillOutScorecard("JEB", 45000);
函數(shù)fillOutScorecard中的參數(shù)initials類(lèi)似于局部變量。該函數(shù)被調(diào)用時(shí)它存在,退出函數(shù)時(shí)它消失。假如調(diào)用函數(shù)時(shí)省略了參數(shù),省略了的參數(shù)以undefined傳遞。假如在調(diào)用函數(shù)時(shí)提供了函數(shù)定義中并不要求的多余參數(shù),這些多余? 數(shù)被忽略。
三、在函數(shù)中使用局部變量
局部變量是組織代碼并使代碼易于理解的重要工具。當(dāng)一個(gè)函數(shù)使用局部變量時(shí),它可以隱藏它的變量,使本動(dòng)畫(huà)的其它腳本不能訪問(wèn)。 局部變量的作用范圍局限在本函數(shù)體內(nèi),并在退出函數(shù)時(shí)消失。傳遞給函數(shù)的任何參數(shù)均作為局部變量處理。
注:假如在函數(shù)中修改全局變量,請(qǐng)使用腳本注釋說(shuō)明這些修改。
四、從函數(shù)中返回值
你可以用return動(dòng)作從函數(shù)中返回值。return動(dòng)作終止函數(shù),并用return動(dòng)作的值取代它。假如Flash在函數(shù)結(jié)束前沒(méi)有碰到return動(dòng)作,將返回空字符串。例如,下面的函數(shù)返回參數(shù)x的平方:
function sqr(x) {
return x * x;
}
有些函數(shù)完成一系列任務(wù),但不返回值。例如,下面的函數(shù)初始化一系列的全局變量:
function initialize() {
boat_x = _root.boat._x;
boat_y = _root.boat._y;
car_x = _root.car._x;
car_y = _root.car._y;
}
五、調(diào)用函數(shù)
在正常模式的動(dòng)作面板中調(diào)用函數(shù),使用evaluate動(dòng)作,用圓括號(hào)傳遞要求的參數(shù)。 你可以從任何時(shí)間軸(包括載入的動(dòng)畫(huà))調(diào)用任何時(shí)間軸中的函數(shù)。例如,下面的語(yǔ)句調(diào)用主時(shí)間軸中的電影剪輯MathLib的函數(shù)sqr,傳遞一個(gè)參數(shù)3,并把結(jié)果存儲(chǔ)在變量temp中:
var temp = _root.MathLib.sqr(3);
在Flash 4中,要模擬調(diào)用函數(shù),你可以在動(dòng)畫(huà)結(jié)束后的某一幀中編寫(xiě)腳本, 然后通過(guò)把該幀的標(biāo)簽名傳遞給call動(dòng)作來(lái)調(diào)用它:
call("initialize");
這種腳本并非一個(gè)真正的函數(shù),因?yàn)樗荒芙邮諈?shù),也不能返回值。盡管call動(dòng)作在Flash 5中仍然有效,但建議不再使用。
分享:Flash 動(dòng)作腳本之:資料速查(8)使用操作符處理表達(dá)式中的值(2)七、位操作符位操作符在內(nèi)部處理浮點(diǎn)數(shù),把它們變?yōu)楦子谔幚淼?2位整數(shù)。精確的位操作的完成取決于操作符,但所有的位操作
- as中禁用ESC鍵
- AS3.0 圖片變黑白 圖片彩色變黑白代碼
- flash as3.0 跨域的解決辦法
- 模板無(wú)憂FLASH透明代碼
- Flash教你制作卡通MM眨眼睛動(dòng)畫(huà)
- Flash從零開(kāi)始學(xué)習(xí)創(chuàng)建單選按鈕
- Flash繪制小龍與花插畫(huà)場(chǎng)景
- Flash程序的測(cè)試方法
- Flash CS4文字顏色緩動(dòng)特效
- 網(wǎng)頁(yè)中演示類(lèi)FLASH動(dòng)畫(huà)制作規(guī)范
- Flash CS3循環(huán)背景的運(yùn)用技巧
- Flash鼠繪技巧教你制作紅綠色的樹(shù)葉
Flash教程Rss訂閱網(wǎng)站制作教程搜索
Flash教程推薦
猜你也喜歡看這些
- flash動(dòng)作編程教程
- FIF小組FLASH MX 2004實(shí)例視頻教程
- Adobe Flash CS5新功能視頻教程
- Flash CS3多媒體課件制作視頻教學(xué)
- 精通Flash動(dòng)畫(huà)設(shè)計(jì)(附光盤(pán)腳本分鏡頭設(shè)計(jì)與典型案例)》
- Adobe Flash CS4 新增功能教程(中文視頻)更新完畢
- Flash制作光盤(pán)引導(dǎo)動(dòng)畫(huà)全過(guò)程(前幾節(jié)為靜音)
- Flash as3.0視頻教程之組件編程
- Flash8基礎(chǔ)與實(shí)例教程配套光盤(pán)
- 新東方4+1flash全部教程
- 相關(guān)鏈接:
- 教程說(shuō)明:
Flash教程-Flash 動(dòng)作腳本之:資料速查(10)
。