Flash5 ActionScript高級(jí)編程指南(6)
發(fā)布時(shí)間:2008-08-14 閱讀數(shù): 次 來源:網(wǎng)樂原科技
三、自定義函數(shù)的運(yùn)用
加入函數(shù)這一概念可能是Flash5對(duì)動(dòng)作腳本語言的改進(jìn)中最令閃迷們感到興奮的內(nèi)容了。因?yàn)樵诶习姹镜腇AS中,為了實(shí)現(xiàn)三角函數(shù)之類的函數(shù)功能,F(xiàn)lash動(dòng)畫制作者們不得不在一大堆一大堆的set指令和call指令之中漫游,既不方便執(zhí)行效率又低,而且還常常為了逃避該死的“200000行”限制(此限制已在Flash5中取消)而絞盡腦汁、機(jī)關(guān)算盡?,F(xiàn)在有了函數(shù),朋友們,我們還怕什么呢!
可能有些熟悉Java或C/C++編程的閃客們要說了,函數(shù)不是很平常的概念嘛,有什么好講的。其實(shí)沒那么簡(jiǎn)單。既然筆者把它單獨(dú)拎出長(zhǎng)長(zhǎng)的一節(jié)來作介紹,就一定有其不同尋常之處。下面我們就來看看它有什么神秘面紗。為了突出重點(diǎn),本節(jié)只講有關(guān)自定義函數(shù)的使用,系統(tǒng)指令函數(shù)及預(yù)定義對(duì)象的成員函數(shù)留待以后再講。
1、自定義函數(shù)的形式及功能
按照Flash5 ActionScript聯(lián)機(jī)幫助中的正統(tǒng)解釋,自定義函數(shù)的表達(dá)形式分為有名函數(shù)與無名函數(shù)兩種。具體如下:
function functionname([argument0, argument1,...argumentN]) {
statement(s)
}
function([argument0, argument1,...argumentN]) {
statement(s)
}
其中有名函數(shù)可用來作為一般意義上的函數(shù)或自定義對(duì)象的構(gòu)造函數(shù);無名函數(shù)專門用來為自定義對(duì)象加載方法(即成員函數(shù))。以下為這三種功能的實(shí)例:
(1)用作一般函數(shù)(特點(diǎn):可有返回值):
function add10(x) {
return x+10;
}
trace(add(10));
(2)用作構(gòu)造函數(shù)(特點(diǎn):利用this為對(duì)象的成員賦值,this為必須):
function box(l,t,r,b) {
this.left = l;
this.top = t;
this.right = r;
this.bottom = b;
}
(3)用作為自定義對(duì)象加載方法(特點(diǎn):在構(gòu)造函數(shù)名后加.prototype表示加載方法,這也是必須的):
box.prototype.area = function() {
return (this.right-this.left)*(this.bottom-this.top);
}