Flash 动作脚本之:资料速查(11)_Flash教程
推荐:Flash 动作脚本之:资料速查(10)使用自定义对象Flash5答应用户自定义函数来执行一系列语句,对传递过来的值进行操作,并可返回值。函数定义好以后,就可以从任何时间轴(包括载入动画的时间
关于绝对和相对目标路径(1)关于绝对和相对目标路径
目标路径就是要指向的时间轴的地址。在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,可以使用下面的路径:
../..
在charleston的时间轴中的动作要指向实例 atlanta,可以使用下面的点语法相对路径:
_parent._parent.georgia.atlanta
使用相对路径有利于脚本重用。例如,可以把一个脚本附加给一个电影剪辑,该电影剪辑可以把上一级的电影剪辑放大150%,如下所示:
onClipEvent (load) {
_parent._xscale = 150;
_parent._yscale = 150;
}
然后,你就可以重用这个脚本,把它放在任何电影剪辑的时间轴中。
分享:Flash 动作脚本之:资料速查(9)在脚本中控制流向在脚本中控制流向ActionScript使用if、for、while、do...while和for...in动作,依据某个条件是否存在执行某个动作。一、使用“if”语句检
- 相关链接:
- 教程说明:
Flash教程-Flash 动作脚本之:资料速查(11)。