_lockroot属性:
这个属性用来锁定_root的指向。通常在被加载的swf中使用这个属性,一般的用法如下:
mc._root._lockroot=true;
//something operate with the _root property
mc._root.lockroot=false;
其中mc为被加载到swf中的影片剪辑。将_lockroot的属性设为TRUE时,_root属性就指向为加载这个swf的文件的根部。
需要注意的是,如果我们在上述操作中利用_root属性创建了影片剪辑,那么这个影片剪辑自然就属于根swf文件的,从而这个影片剪辑所调用的库中的资源也应该是跟swf文件中的资源,如用attachMovie方法时,被attach的元件需要在根swf文件的库中,而不是被加载的swf文件的库中。
加载外部的swf文件:
as2中外部的swf文件被加载进来之后就是一个mc,但他不是以一个整体加载进来的,因此他没有名字,这种情况类似于在加载的mc的一个图层上添加元素。
举例来说,一个mc加载了一个一个swf,这个swf舞台上有一个mc2的影片剪辑和一个btn的按钮,那么加载进来之后,用mc.mc2和mc.btn即可引用到两个元件。
附注官方的说明:
如果 SWF 文件加载到目标影片剪辑,则可使用该影片剪辑的目标路径来定位加载的 SWF 文件。加载到目标的 SWF 文件或图像会继承目标影片剪辑的位置、旋转和缩放属性。加载的图像或 SWF 文件的左上角与目标影片剪辑的注册点对齐。或者,如果目标为根时间轴,则该图像或 SWF 文件的左上角与舞台的左上角对齐。
鼠标事件的屏蔽现象:
如果对一个mc注册鼠标侦听,那么这个侦听会屏蔽这个mc内部所有的元件的鼠标事件,也就是说如果我们也注册了mc内部的一些元件的鼠标侦听那么由于我们对mc的鼠标侦听,我们将无法触发他们。
目前还不知道有什么好的方法能够解决这个问题,现有的解决方法是,去掉对mc的侦听然后在mc内部的最大的元件上(通常为这个mc的背景元件)注册相同功能的侦听。