Flash中_root的用法

web前端1342413年前 (2011-12-19)

1._root不论写在哪,永远都是指向主场景,或主时间轴.
比如:_root.my_mc指舞台上实例名为my_mc的实例.
_root.gotoAndPlay(10)指主时间轴跳到第10帧播放.

2.用loadmovie载入外部swf文件的时候,外部swf文件的_root指向主swf的舞台或主swf文件的主时间轴.

_root代表的是主时间轴,这是一个最顶级的实例名也可以说是固定的,例如在主场景里有一个影片剪辑名为toyean_func,那么想控制这个abc的播放可以用以下代码 _root.toyean_func.play() 这里其实是一个对toyean_func表示路径时所用的。

关于_root:
新建一文件,一个舞台就出现再屏幕上,这就是_root。假设我们把影片剪辑加入到舞台,例如我们把mc1,mc2加入舞台。
我们就可以把_root理解为影片的主时间轴,任何的影片剪辑都放在这个主时间轴上,AS语法表达就是_root.mc1和_root.mc2。这里我们假设mc1中有影片剪辑mc3,那么就是_root.mc1.mc3。
这里我们要记住这样的一条规则:由大到小,由外及内,由最外围的,最大的以点语法制定影片剪辑,就可以知道影片剪辑的属性或者其中的变量。
例如,我们要知道mc3的x,y坐标,就是: _root.mc1.mc3._x;
_root.mc1.mc3._y; 如果要将mc1隐藏,那么就可以写成: _root.mc1._visible=0;

关于_level
整个影片可以看做是_level0。那么我们这里就可以理解为_level0和_root的效果是相同的,但在概念上二者是有区别的。
关于_global
_global是从FLASHMX开始引入的概念,只有flash player6或以上的版本才支持,它是一个全局变量,也就是说,如果一个变量、函数或对象被声明为_global,那么在_root或影片剪辑里都可以调用它。 例如我们定义一个全局变量a,并为它赋值为500; _global.a=500; 例如我们单击主场景中的按钮,将a由500变成100; 在按钮上添加如下代码: on(release)
{
a=100;
trace(a);//跟踪a;
}