Flash 動作腳本之:資料速查(11)_Flash教程
推薦:Flash 動作腳本之:資料速查(10)使用自定義對象Flash5答應用戶自定義函數來執行一系列語句,對傳遞過來的值進行操作,并可返回值。函數定義好以后,就可以從任何時間軸(包括載入動畫的時間
關于絕對和相對目標路徑(1)關于絕對和相對目標路徑
目標路徑就是要指向的時間軸的地址。在Flash中,時間軸的顯示列表類似于Web服務器中的文件和文件夾層次結構。
就像在Web服務器中一樣,Flash的每個時間軸可以用兩種方式編址:絕對路徑或相對路徑。無論那個時間軸調用含絕對路徑的動作,某個實例的絕對路徑總是相同的。例如,指向實例california(加利福尼亞州)的絕對路徑總是_level0.westCoast.california。從不同的地方調用時,相對路徑是不同的。例如,從sanfrancisco到california的相對路徑是_parent,而從portland到california的相對路徑則是 _parent._parent.california。
絕對路徑 以載入動畫的層級名開始,連續經過顯示列表,直至到達目標實例。
在Flash播放器中首先打開的動畫被載入0級(level 0)。你必須給每個另外載入的動畫分配一個級號。某一級的目標名是_levelX,其中的X是動畫被載入的級號。例如,在Flash播放器中首先打開的動畫稱為_level0,載入3級的動畫稱為_level3。
在下面的例子中,Flash播放器中載入了兩個動畫:TargetPaths.swf 載入0級(level 0),EastCoast.swf載入5級(level 5)。在調試器中,層級會顯示出來,0級顯示為_root。
無論是從同級實例的動作中調用,或是從不同級的動作中調用,實例的絕對路徑總是相同的。例如:0級中的實例bakersfield的點語法絕對路徑總是這樣:
_level0.california.bakersfield
在斜杠語法中,用斜杠取代點,該絕對路徑如下:
_level0/california/bakersfield
要在不同級的動畫之間通訊,必須在目標路徑中使用級名。例如,portland實例應該對atlanta(亞特蘭大)實例按下列方法編址:
_level5.georgia.atlanta
在點語法中,你可以使用別名_root來引用當前級的主時間軸。對于主時間軸(或 _level0),當同在_level0中的剪輯指定目標時,別名_root代表_level0。對于載入_level5的動畫,當在1級的電影剪輯指定目標時,_root 等于_level5。例如,在實例southcarolina中調用的一個動作可以使用下面的絕對路徑指向實例florida(佛羅里達州)? r>
_root.eastCoast.florida
在斜杠語法中,你可以使用斜杠(/)引用當前級的主時間軸,如下所示:
/eastCoast/florida
在點語法中,不管是絕對模式還是相對模式,你都可以使用相同的目標路徑來區分時間軸或對象屬性中的變量。例如,下面的語句設置實例form中的變量name的值為"Gilbert":
_root.form.name = "Gilbert";
在斜杠語法中,不管是絕對模式還是相對模式,你都可以在變量名前面加上冒號(:)來區分時間軸中的變量, 如下所示:
/form:name = "Gilbert";
相對路徑取決于控制時間軸與目標時間軸之間的關系。你可以通過相對路徑重用動作,因為同一動作可以指向不同的時間軸,這取決于該動作放在哪里。相對路徑只能在它們自己所在的Flassh播放器層級中對目標編址,而不能對載入其它層級中的動畫編址。例如,你不能在_level0中指向_level5的奔渲岬畝魘褂孟嘍月肪丁?br>
在點語法中,可以在相對路徑中使用要害字this來引用當前時間軸。可以在相對路徑中使用別名_parent來指明當前時間軸的父時間軸。在Flash播放器的同一層級中,可以重復使用_parent別名指明電影剪輯層次結構中的更高一級。
在下面的例子中,每個城市(charleston、atlanta和staugustine)都是state(州)實例之子,而每個州(southcarolina、georgia和florida)又是eastCoast(東海岸)實例之子。
實例charleston的時間軸上的動作可以使用下面的目標路徑指向實例southcarolina:
_parent
在charleston中的動作要指向實例eastCoast,可以使用下面的相對路徑:
_parent._parent
在斜杠語法中,可以使用兩個點(..) 指向層次結構中的更高一級。在實例charleston中的動作要指向eastCoast,可以使用下面的路徑:
../..
在charleston的時間軸中的動作要指向實例 atlanta,可以使用下面的點語法相對路徑:
_parent._parent.georgia.atlanta
使用相對路徑有利于腳本重用。例如,可以把一個腳本附加給一個電影剪輯,該電影剪輯可以把上一級的電影剪輯放大150%,如下所示:
onClipEvent (load) {
_parent._xscale = 150;
_parent._yscale = 150;
}
然后,你就可以重用這個腳本,把它放在任何電影剪輯的時間軸中。
分享:Flash 動作腳本之:資料速查(9)在腳本中控制流向在腳本中控制流向ActionScript使用if、for、while、do...while和for...in動作,依據某個條件是否存在執行某個動作。一、使用“if”語句檢
- 相關鏈接:
- 教程說明:
Flash教程-Flash 動作腳本之:資料速查(11)。