2011-04-03 56 views
0

假設我正在從另一臺服務器上的另一個動畫片段中的遠程URL加載動畫片段。如何在多個父級影片剪輯的層次結構中的Flash中獲取self(movieclip)的url路徑?

此影片剪輯現在需要在與自身相同的服務器上加載另一個子影片剪輯。

它如何獲得自己的url,而不是它的父容器的url,以加載這個孩子?因爲如果它引用「child.swf」,它將相對於第一個服務器的超級父容器insted,不是嗎?所以它不能正確地加載孩子,只要它能得到的就是父母的網址。

回答

2

在ActionScript 3中,每個剪輯都有一個LoaderInfo對象,其中包含大量有關加載對象的信息。特別是,有一個url屬性,它爲您提供加載的SWF自身的URL。此外,loaderURL屬性將爲您提供父級SWF的網址。如果必要的話,你甚至可以爬上樹裝載機,使用這樣的事情:

var info:LoaderInfo = loaderInfo; 
while(info.loader) { 
    trace(info.loaderURL); 
    info = info.loader.loaderInfo; 
} 
// now info contains the topmost loaderInfo. 

您可能需要做一些字符串拼接來獲得不帶文件路徑,類似於:

var url:String = loaderInfo.url; 
url = url.substring(0, url.lastIndexOf("/")+1); 
相關問題