当前位置:软件学习 > Flash >>

Flash5ActionScript教程 五十

b>关于多个时间轴

  在稍为复杂一点的Flash动画中,都会用到电影剪辑。电影剪辑其实就是一个小型的Flash动画。电影剪辑有它自己的时间轴和属性。一个电影剪辑可以嵌套在另一个电影剪辑之中,且可以多级嵌套。

  图符库中的电影剪辑图符可以在Flash动画中多次使用。使用图符库中的图符(电影剪辑、按钮、图像等)时,把图符从图符库中拖到编辑区,作为该图符的一个实例,这个过程称为实例化。如果你把一个电影剪辑从图符库中拖到编辑区,我们就说,你在编辑区中为该电影剪辑创建了一个实例。如果编辑区中有多个实例,可以给每个实例命名,以便区分它们。

  在电影剪辑的时间轴中可以放置任何对象,包括其它电影剪辑。使用loadMovie命令载入到Flash播放器中的动画也是一个小型Flash动画。在Flash动画中,每个电影剪辑、载入的动画和主时间轴都是具有属性和方法的对象。使用动作脚本控制这些对象,就可以创建复杂的、非线性的、具高度交互性的动画。

  使用动作和MovieClip对象的方法可以控制电影剪辑。可以把动作和方法分配给电影剪辑中的帧或按钮(帧和按钮动作),或指定的电影剪辑(剪辑动作)。电影剪辑中的动作可以控制动画中的任何时间轴。要控制时间轴,需要用目标路径指定它的地址。

  在Flash中使用电影剪辑创建复杂动画或通过载入另一个动画来创建更复杂的动画时,就会遇到在一个动画中有多个时间轴的问题、载入动画在整个动画中的层次关系问题、不同时间轴之间的相互通讯和控制等问题。

  下面,我们就先来谈谈关于多个时间轴的问题。

  每个Flash动画都有一个主时间轴,在Flash播放器中定为0级(level 0)。可以用loadMovie动作,在动画的播放过程中还可以把其它Flash动画(SWF文件)载入Flash播放器中,并把它置于0级以上的任一层级(如1级、2级、15级)。载入Flash播放器某层级中的每个动画都有它自己的时间轴。

  在任一层级中的Flash动画,在它们自己的时间轴中都可以包含电影剪辑实例。每个电影剪辑实例也有一个时间轴,而且也可以包含其它电影剪辑,这些被包含的电影剪辑也还可以拥有自己的时间轴。这样,在Flash播放器中就会构成复杂的层次结构。下图是Flash播放器中层级和电影剪辑的层次结构示意图。



PAGESEP$$$   在Flash中,这种层级和电影剪辑的层次结构被称为显示列表(Display List)。当你用Flash设计动画时,可以在动画管理器(Movie Explorer)中查看显示列表。

  在测试动画时,可以在调试器(Debugger)中查看显示列表。

  Flash动画中的时间轴都属于对象,所有这些对象都拥有预定义MovieClip对象的属性和方法。这些时间轴依据它们在显示列表中的位置,都有特定的相互关系。嵌套在另一时间轴中的时间轴受到它们所处时间轴的变化的影响。例如在上图中,portland时间轴是oregon的子时间轴,改变oregon的_xscale属性,portland也会跟着放大或缩小。

  时间轴之间也可以相互传递信息。例如,一个电影剪辑最后一帧的动作可以指令另一个电影剪辑播放。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,