假设有两个Swf电影,Movie1上载到Level0中,Movie2上载到Level1中,它们分别有类似于Dos中两个子目录,我们将它们的绝对路径写出来就是:
Movie1: _level0.sample1.sample2 (sample1,sample2都是Instance名字)
Movie2: _level1.sample3.sample4 (sample3,sample4都是Instance名字)
如果您在Movie2的sample4中,想指定的目标是Movie1的smaple1,就必须用绝对路径:_level0.sample1
如果您在Movie2中sample4中,想指定的目标是Movie2的sample3,可以使用相对路径:_root.sample3 或者_parent;也可以使用绝对路径:_level0.sample3
在Flash中,提供了比较直观的选择路径结构窗口,当您从此窗口中选取Movie Clip后,Flash会自动的加上路径,非常的方便。当然这个选择窗口的功能还不是十分强大,只能从当前电影中的根目录下,列出当前的路径结构,您还无法从Movie Clip中看到此树状结构的和其它与之平行的路径。但如果您对您的电影的结构不是很清晰的话,参考这个窗口看看确实是个好主意。你可以通过打开路径面板的方法来打开路径的选择,如下图:
你只需在箭头所指的地方按一下便可以打开路径选择窗口。注意,如果你用鼠标按箭头所指的位置没有反应时你只需双击一下程序代码,或者在能输入内容的地方按一下,让光标进入编辑状态此时再按便可以打开路径选择窗口了。下面便是一个比较典型的路径面板:
从面板中可以看出根目录下有二个MC,一个是mc1,另一个是mc3,mc1内部又有一个mc3,mc2中又有一个mc4。比如在mc4中有一个变量叫place_x,而你是在mc3中的程序操作这个变量,你可以这样来引用:
_root.mc2.mc4.place_x
这个是绝对路径(Absolute选项)的引用,相对路径(Relative选项)的引用如下:
_parent._parent.mc2.mc4.place_x
在路径的引用中还有一种非常重要的引用就是引用实例本身,在Flash中是用一个空的字符串来代表,比如我在mc1中有一段动画,我想一开始就停止动画的播放可以在第一桢这样写:
tellTarget ("") {
stop ();
}
当然这样写的目的仅是为了说明指自己的路径是怎么写的,这种写法并不是最好的写法。在路径的参数选项中还有一个就是采用什么语法。系统默认是点(dots)语法,因为斜杠语法(Slashes)主要是为了与Flash4兼容而设,并不推荐大家使用。说了这么多,路径到底有什么用,用在什么场合呢?一般来说路径用在两个场合:
一个就是tellTarget命令指定被控制的Movie Clip的位置。
另一个就是传递变量(或者属性),比如_level1.startup.norma.yy.length, 很多朋友抱怨Flash从外部文件load进变量有时行有时不行其实就是路径在作怪,原因就是load进来的内容被放在其它目录下了,而操作它又不是在同一个路径下,所以找不到变量了。
|
注意: |
到此为止,我们学习了Flash中的基本概念、基本语法,还简单地讲了一下程序控制方式,您应该对Flash编程有了一个初步的了解吧。前面讲的内容中最难的就是路径了,如果你一时无法理解,也没有关系,你经过长时间的实践与训练会逐渐熟练并最终掌握它的。
