2011-04-03 58 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); 
相关问题