当前位置:软件学习 > Flash >>

Flash5ActionScript教程 五十三

关于绝对和相对目标路径

  目标路径就是要指向的时间轴的地址。在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,可以使用下面的路径:

http://www.zzzyk.com/..

在charleston的时间轴中的动作要指向实例 atlanta,可以使用下面的点语法相对路径:

_parent._parent.georgia.atlanta

使用相对路径有利于脚本重用。例如,可以把一个脚本附加给一个电影剪辑,该电影剪辑可以把上一级的电影剪辑放大150%,如下所示:

onClipEvent (load) {
_parent._xscale = 150;
_parent._yscale = 150;
}

然后,你就可以重用这个脚本,把它放在任何电影剪辑的时间轴中。
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,