flash层解析
|
[root,global], [level,depth,]全解析 帮助中_global的说明 标识符;创建全局变量、对象或类。 _root的说明 属性;指定或返回指向根影片时间轴的引用。 _level的说明 标识符;对 _levelN 的根时间轴的引用。 depth的说明(by snow,非官方文档) depth值特指MC的深度,depth越大,MC越在上面;制作动画时画出来的MC它的depth值一定小于0,而SWF运行时动态产生的MC的depth值则一定大于0,从而保证了ActionScript操纵而产生的MC位置是在上面的; _root和_level 新建一个影片,它的_root就是它本身的根影片时间轴,运行时它所在的层级是level0,可以载入其他的影片到其他层级;如level1等,这些影片会同时运行, 仔细看上面level的说明,"将 SWF 文件加载到 Flash Player 中以后,才可使用 _level 属性来定位这些 SWF",注意"定位"这个词,曾经有人打过一个形象的比方,层级就象并排从上到下的许多抽屉,层级(level)值越大的动画越在上面;对于某个MC而言,它的"最高级领导"就是_root,_level根本不是对MC谈论的概念, 它只表明了SWF之间的上下关系,好,趁热打铁,我们来看下面--------- _level和Depth 不同点 相同点 2,比如:同一level和depth上,放入新的对象时,都会挤掉原来的. (by 自在幻想) layer与depth layer只是一个编辑FLA时才存在的概念,当输出SWF以后,layer已经形神俱灭了,MC之间只靠depth来确定上下位置,靠坐标来确定前后左右的位置; 另一种眼光看_root _root是个MC的证据 1,_root变成了MC(说法特别不规范,有助于理解就行了). _root在一个影片中一副老大的样子,好象大得不得了,会一直是这样的吗? 相应地,如果加载某个SWF到levelN(N>0),那么在原SWF中可以把load进来的这个SWF当成一个名为_levelN的MC来操纵。 证据2, 测试如下语句:trace(typeof _root); 会输出"movieclip", 悄悄告诉你哦,trace(typeof _level0),也输出"movieclip"; 之所以强调这种提法,为什么呢,只可意会不可言传. 基本含义帮助中已经说明得很清楚了,下面是一点补充: 1,昨天一个朋友问到的,设动画有两个场景(scene),在两个场景中第一帧分别放一同名的MC,通过trace发现它们的深度是一样的. 下面我们重点说明一下这个问题: 其实这个depth值,是针对某一帧这个生存周期的概念.当播放到第一场景中的第一帧时,不能谈论第一个场景中的第一帧中的MC的depth,就象关公不可能战秦琼一样 结论:_root从来只有一个. 3,_root的说明中,"当前正在执行脚本的级别"中的"级别",就是指level,也译作"层级"; 我们知道不同的影片(SWF)可以分别载入到不同的层级(level)去,层级之间是并列的关系,所以在某个level中计算它的_root,得到的都是本身的level值. BTW,抱歉没能用图形的方式来说明,不过应该不难理解 |
