三分钟理解Flash中的level层级关系

  • 来源: 视觉中国 作者: 若水   2008-04-17/15:18
  • 在很多Flash脚本中经常遇到_level这个指令。但是_level到底是个什么东西?该如何理解呢?

    我们知道每个Flash动画都有一个主时间轴,这个主时间轴就被FlashPlayer预置为最高级也就0级(level0)。

    通过loadMovieNum();loadMovie动作我们可以在动画的播放过程中加载其它的SWF文件到播放器中,并且把他放置于除最高级(0级_level0)的任何一个层级,可能第10层级当然也可以放置在100层级。被载入的电影剪辑他们不但能拥有自己的层级,还拥有自己的时间轴。也就是说假如我们装载了20个SWF文件,那么这20个电影剪辑实例都在自己的某个层级中拥有了一个自己的时间轴,不仅如此,在载入的电影剪辑中还能够包含其它的电影剪辑,这些被包含的电影剪辑还可以拥有自己的时间轴,这样Flash中的的层级别就显得非常复杂了,我们看下面的示意图:

    通过Flash播放器中层级和电影剪辑的层次结构图形我们不难看出层级号大的电影剪辑实例堆叠在层级号小的上面,也就是说如果堆叠在前面的电影剪辑如果不是透明的是会遮挡主处在后面的电影剪辑。其次我们还能发现层级和层级之间的关系是“不交叉”的,“不包含”的,属“平行”关系。这里还要注意一点层级和层级的编号不一定要连续如_level2;_level99

    层级之间以绝对大于,或绝对小于关系存在。层级和层级是不透明关系,和主场景中的层不一样并不是一张张“透明的纸”。

    举个例子来说,我们可以通过loadMovie动作,把一个电影剪辑载入到播放器中,并且把他放置于第99层(_level99)然后又把另外的一个电影剪辑放在第77层级(_level77)_level99和_level77是互不包含的,_level99会堆叠在_level77的前面并且会遮挡_leve77,但他们拥有各自的主时间轴互不干扰!如同在一个车间中各自干者各自的活。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多