忧郁西西 发表于 2009-4-16 11:07:42

Flash 动作脚本之:资料速查(11)

关于绝对和相对目标路径(1)
   关于绝对和相对目标路径

  目标路径就是要指向的时间轴的地址。在Flash中,时间轴的显示列表类似于Web服务器中的文件和文件夹层次结构。
   
www.ad119.cn/bbs/attachments/websoft/20090416/20094161172078177801.jpg


  就像在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。

www.ad119.cn/bbs/attachments/websoft/20090416/20094161172082877802.jpg
  无论是从同级实例的动作中调用,或是从不同级的动作中调用,实例的绝对路径总是相同的。例如: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(东海岸)实例之子。


www.ad119.cn/bbs/attachments/websoft/20090416/20094161172087577803.jpg


实例charleston的时间轴上的动作可以使用下面的目标路径指向实例southcarolina:

_parent

在charleston中的动作要指向实例eastCoast,可以使用下面的相对路径:

_parent._parent

在斜杠语法中,可以使
页: [1]
查看完整版本: Flash 动作脚本之:资料速查(11)