绝对路径
绝对路径以文档加载到其中的层名开始,直至显示列表中的目标实例。 也可以使用别名 _root 来指示当前层的最顶层时间轴。 例如,影片剪辑 california 中引用影片剪辑 oregon 的动作可以使用绝对路径 _root.westCoast.oregon。
在 Flash Player 中打开的第一个文档被加载到第 0 层。 您必须给加载的所有其他文档分配层号。 在 ActionScript 中使用绝对引用来引用一个加载的文档时,可以使用 _levelX 的形式,其中 X 是文档加载到的层号。 例如,在 Flash Player 中打开的第一个文档叫做 _level0;加载到第 3 层的文档叫做 _level3。
要在不同层的文档之间进行通信,必须在目标路径中使用层名。 下面的例子显示 portland 实例如何定位名为 georgia 的影片剪辑上的 atlanta 实例(georgia 与 oregon 位于同一层):
_level5.georgia.atlanta
您可以使用 _root 别名表示当前层的主时间轴。 对于主时间轴,当 _root 别名被同在 _level0 上的影片剪辑作为目标时,则代表 _level0。 对于加载到 _level5 的文档,如果被同在第 5 层上的影片剪辑作为目标,则 _root 等于 _level5。 例如,如果影片剪辑 southcarolina 和 florida 都加载到同一层,从实例 southcarolina 调用的动作就可以使用以下绝对路径来指向目标实例 florida:
_root.eastCoast.florida
相对路径
相对路径取决于控制时间轴和目标时间轴之间的关系。 相对路径只能确定 Flash Player 中它们所在层上的目标的位置。 例如,在 _level0 上的某个动作以 _level5 上的时间轴为目标时,不能使用相对路径。
在相对路径中,使用关键字 this 指示当前层中的当前时间轴;使用 _parent 别名指示当前时间轴的父时间轴。 您可以重复使用 _parent 别名,在 Flash Player 同一层内的影片剪辑层次结构中逐层上升。 例如,_parent._parent 控制影片剪辑在层次结构中上升两层。 Flash Player 中任何一层的最顶层时间轴是唯一具有未定义 _parent 值的时间轴。
实例 charleston(较 southcarolina 低一层)时间轴上的动作,可以使用以下目标路径将实例 southcarolina 作为目标:
_parent
若要从 charleston 中的动作指向实例 eastCoast(上一层),可以使用以下相对路径:
_parent._parent
若要从 charleston 的时间轴上的动作指向实例 atlanta,可以使用以下相对路径:
_parent._parent.georgia.atlanta
相对路径在重复使用脚本时非常有用。 例如,您可以将以下脚本附加到某个影片剪辑,使其父级放大 150%:
onClipEvent (load) { _parent._xscale = 150; _parent._yscale = 150; }
您可以通过将此脚本附加到任意影片剪辑实例来重复使用该脚本。
注: Flash Lite 1.0 和 1.1 只支持将脚本附加到按钮。 不支持将脚本附加到影片剪辑。
无论使用绝对路径还是相对路径,都要用后面跟着表明变量或属性名称的点 (.) 来标识时间轴中的变量或对象的属性。 例如,以下语句将实例 form 中的变量 name 设置为值 "Gilbert":
_root.form.name = "Gilbert";
使用绝对和相对目标路径
使用 ActionScript 可以将消息从一个时间轴发送到另一个时间轴。 包含动作的时间轴称作控制时间轴,而接收动作的时间轴称作目标时间轴。 例如,一个时间轴的最后一帧上可以有一个动作,指示开始播放另一个时间轴。 要指向目标时间轴,必须使用目标路径,指明影片剪辑在显示列表中的位置。
下面的例子显示了 westCoast 文档在第 0 层上的层次结构,它包含三个影片剪辑:california、oregon 和 washington。 每个影片剪辑又各包含两个影片剪辑。
_level0 westCoast california sanfrancisco bakersfield oregon portland ashland washington olympia ellensburg
与在 Web 服务器上一样,FlashProfessional 中的每个时间轴都可以用两种方式确定其位置:绝对路径或相对路径。 实例的绝对路径是始终以层名开始的完整路径,与哪个时间轴调用动作无关;例如,实例 california 的绝对路径是 _level0.westCoast.california。 相对路径则随调用位置的不同而不同;例如,从 sanfrancisco 到 california 的相对路径是 _parent,但从 portland 出发的相对路径则是 _parent._parent.california。
返回页首
指定目标路径
要控制影片剪辑、加载的 SWF 文件或按钮,必须指定目标路径。 您可以手动指定,也可以使用“插入目标路径”对话框指定,还可以通过创建结果为目标路径的表达式指定。 要指定影片剪辑或按钮的目标路径,必须为影片剪辑或按钮分配一个实例名称。 加载的文档不需要实例名称,因为其层号即可作为实例名称(例如 _level5)。
将一个实例名称指定给影片剪辑或按钮
在舞台上选择影片剪辑或按钮。
在“属性”检查器中输入实例名称。
使用插入目标路径对话框来指定目标路径
手动指定目标路径
使用表达式作为目标路径