7.1.1 Array對(duì)象
Array對(duì)象(動(dòng)作面板的“對(duì)象”/“核心”目錄)即數(shù)組,它用來(lái)記錄成組的相關(guān)或相似變量。數(shù)組中的單個(gè)變量稱為元素,數(shù)組中的每個(gè)元素對(duì)應(yīng)一個(gè)索引,訪問(wèn)元素需要使用索引,索引需要用方括號(hào)括起來(lái)。
如下所示的ActionScript創(chuàng)建一個(gè)空的數(shù)組:
myArray = new Array();
如下所示的ActionScript創(chuàng)建一個(gè)確定值的數(shù)組并在輸出窗口中顯示每個(gè)元素的值:
weekDay = new Array("SUN", "MON", "TUE", "WED", "TUR", "FRI", "SAT");
for (var i = 0; i<7; i++) {
trace(weekDay[i]);
}
數(shù)組中還可以嵌套數(shù)組,即構(gòu)成多維數(shù)組,如下所示:
polyArray = new Array();
for (var i = 0; i<3; i++) {
polyArray[i] = new Array(i*3+1, i*3+2, i*3+3, i*3+4);
trace(polyArray[i][0]+" "+polyArray[i][1]+" "+polyArray[i][2]+" "+polyArray[i][3]);
}
輸出窗口中將顯示:
1 2 3 4
4 5 6 7
7 8 9 10
7.1.2 復(fù)制影片剪輯
duplicateMovieClip動(dòng)作(動(dòng)作面板的“動(dòng)作”/“影片剪輯控制”目錄)和MovieClip對(duì)象(動(dòng)作面板的“對(duì)象”/“影片”目錄)中的duplicateMovieClip方法都用于在影片播放時(shí)創(chuàng)建影片剪輯的實(shí)例,也即復(fù)制場(chǎng)景中的父影片剪輯以產(chǎn)生新的影片剪輯。它們和后面要介紹的attachMovie方法對(duì)于要在影片中重復(fù)產(chǎn)生較多相同圖形或動(dòng)畫(huà)對(duì)象時(shí)非常有用,如棋類游戲、射擊游戲、鼠標(biāo)跟隨、下雪等特效動(dòng)畫(huà)。
要使用duplicateMovieClip動(dòng)作和MovieClip.duplicateMovieClip方法,首先需要在場(chǎng)景中創(chuàng)建用來(lái)復(fù)制的父影片剪輯,并且在屬性面板中為該父影片剪輯實(shí)例命名,該影片剪輯實(shí)例名稱將作為duplicateMovieClip的參數(shù)之一。
在幀動(dòng)作中使用duplicateMovieClip動(dòng)作的方法如下所示:
duplicateMovieClip("parentMC", "childMC", 10);
其中,第1個(gè)參數(shù)parentMC是父影片剪輯的唯一標(biāo)識(shí)符,第2個(gè)參數(shù)childMC是復(fù)制產(chǎn)生的新影片剪輯實(shí)例的唯一名稱,第3個(gè)參數(shù)10是新影片剪輯的深度級(jí)別(level)。深度級(jí)別的概念與層類似,較高深度級(jí)別中的圖形會(huì)遮擋住較低深度級(jí)別中的圖形,影片剪輯所在的深度級(jí)別越高就越貼近我們的視線。在同一個(gè)深度級(jí)別中只能有一個(gè)影片剪輯實(shí)例,如果在同一深度級(jí)別中添加多于一個(gè)影片剪輯實(shí)例,新的影片剪輯實(shí)例將替換掉舊的影片剪輯實(shí)例。
復(fù)制產(chǎn)生的影片剪輯實(shí)例與父影片剪輯實(shí)例的位置是重疊在一起的,所以一般還需要調(diào)整新影片剪輯實(shí)例的坐標(biāo)等屬性,以使其按照需要顯示,如下所示:
_root.parentMC._visible = false;
duplicateMovieClip("parentMC", "childMC", 10);
_root.childMC._x = 275;
_root.childMC._y = 200;
運(yùn)行以上腳本,屏幕中只能看到新影片剪輯實(shí)例,而父影片剪輯實(shí)例不見(jiàn)了。從這里也可以看出,父影片剪輯實(shí)例的屬性并不會(huì)影響到復(fù)制產(chǎn)生的新實(shí)例。
通常情況下,可以用與下面類似的方法復(fù)制多個(gè)影片剪輯實(shí)例:
_root.parentMC._visible = false;
n = 50;
for (i=0; i
_root["childMC"+i]._x = 25+10*i;
_root["childMC"+i]._y = 8*i;
}
在父影片剪輯中使用MovieClip.duplicateMovieClip方法如下所示:
onClipEvent (enterFrame) {
this.duplicateMovieClip("childMC", 10);
_root.childMC._x += 150;
}
它比duplicateMovieClip動(dòng)作少了第1個(gè)參數(shù),即不需要父剪輯名稱。如果以上腳本不是在父剪輯而是在別的影片剪輯中,只需要將this換成父剪輯的實(shí)例名稱即可。
7.1.3 附加影片剪輯
attachMovie方法也是在影片播放時(shí)創(chuàng)建影片剪輯的實(shí)例,它與duplicateMovieClip不同的是,attachMovie方法不需要使用父影片剪輯,而是將庫(kù)中影片剪輯的實(shí)例附加到場(chǎng)景中。
要使用attachMovie方法,首先需要在庫(kù)面板中為要附加到場(chǎng)景中的影片剪輯添加鏈接。為影片剪輯添加鏈接的方法如下:
?。?)在庫(kù)面板中要添加鏈接的影片剪輯上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“鏈接”命令。
?。?)系統(tǒng)彈出“鏈接屬性”對(duì)話框,如圖7-1所示。
?。?)在“鏈接:”后選中“為動(dòng)作腳本導(dǎo)出”復(fù)選框,“為運(yùn)行時(shí)共享導(dǎo)入”復(fù)選框自動(dòng)變?yōu)檫x中狀態(tài),“標(biāo)識(shí)符”文本框變?yōu)榭捎?,并將影片剪輯的元件名稱作為默認(rèn)的鏈接標(biāo)識(shí)符。
?。?)單擊“確定”按鈕,添加鏈接后的庫(kù)面板。
?。?)在“鏈接:”后選中“為動(dòng)作腳本導(dǎo)出”復(fù)選框,“為運(yùn)行時(shí)共享導(dǎo)入”復(fù)選框自動(dòng)變?yōu)檫x中狀態(tài),“標(biāo)識(shí)符”文本框變?yōu)榭捎?,并將影片剪輯的元件名稱作為默認(rèn)的鏈接標(biāo)識(shí)符。
?。?)單擊“確定”按鈕,添加鏈接后的庫(kù)面板。
聯(lián)系客服