《使用与控制影片剪辑.ppt》由会员分享,可在线阅读,更多相关《使用与控制影片剪辑.ppt(8页珍藏版)》请在三一办公上搜索。
1、第8章 使用与控制影片剪辑,在Adobe Flash CS3 Professional中创建的动画和影片剪辑元件都是MovieClip,即影片剪辑。在ActionScript 3.0中,MoveClip是Sprite类的子类,其地位和重要性都大大的降低。对于面向对象编程的程序人员来说,它的用处已经不大;但是对于习惯在Flash中创建动画,并使用代码进行控制的动画设计人员来说,它还是有着非常重要的作用。本章着重介绍在Flash事件轴上添加事件和方法来操作和控制影片剪辑;同时也从面向对象的角度着手,使用外部的文档类来操作影片剪辑,实现文档与代码分离。,8.1 影片剪辑基础知识,影片剪辑(Movie
2、Clip)类是ActionScript用来控制Flash创作的动画元素的重要工具。通过MovieClip类的属性和方法,可以控制影片剪辑的播放与停止,正放和倒放,也可以动态的控制影片剪辑的播放顺序。本节将介绍影片剪辑的基础知识和MovieClip类的属性和方法。,8.1.1 MovieClip简介,MovieClip类在ActionScript 1和ActionScript 2中是所有舞台上的实例的基类,所有的舞台元件都通过MovieClip类的属性和方法进行控制。在ActionScript 3.0中,影片剪辑只是舞台中众多显示对象的一种,其使用主要用于需要时间轴支持的显示对象,对于不需要事件
3、轴的显示对象,尽可能的使用Shape类或者Sprite类以提高显示性能。只要是在Flash中创建的影片剪辑元件,Flash就会自动的将该元件添加到文档的库中。MovieClip会默认其为该类的一个实例,也就具有了该类的属性和方法。将库中的影片剪辑的实例放在舞台上时,如果该影片剪辑有多帧,那么它会按照其时间轴进行循环播放,除非通过使用ActionScript代码进行控制。作为独有的功能,只有MovieClip类的对象可以使用Flash创作工具创建的动画效果。其它的显示对象类的实例都不能创建时间轴动画,要创建动画,只能使用编程方式来实现。,8.1.2 处理MovieClip对象,在Flash中使用
4、编译器把fla文件发布为SWF文件时,舞台上的所有影片剪辑实例都会转为MovieClip(影片剪辑)对象。利用“属性”面板中的“实例名称”文本输入框指定影片剪辑的实例名称,进而通过访问该名称实现对其访问和控制。如果该影片剪辑中还嵌套有其它的影片剪辑,则通过使用点语法加影片剪辑来访问和控制。比如下面的代码通过点语法控制mc影片剪辑中的mc1影片剪辑执行播放动作。代码如下所示。mc.mc1.play(),8.2 影片剪辑基本控制,影片剪辑的控制,主要指控制影片剪辑的播放和影片剪辑基本属性的变换。通过变换产生一定的动画效果。本节是为刚学习Flash动画,需要使用帧代码控制影片剪辑的读者准备的。当然本
5、节也会从面向对象的角度,使用文档类实现相同的效果。,8.2.1 影片剪辑的播放控制,影片剪辑的播放控制,主要是指控制影片和影片剪辑的播放、停止、前进、后退、倒放和跳转。通过这些操作,控制影片剪辑的播放流程和顺序,进而实现不同的动画需求。本节通过一个简单的控制动画实例,说明这些MovieClip类方法的基本使用方法。由于本书以ActionScript编程为主,所以时间轴动画的制作过程不再介绍,只讲解影片剪辑控制过程中所需要的代码。,8.2.2 动态加载并控制库中的影片剪辑,在ActionScript 2.0中被广泛使用的duplicateMovieClip()、attachMovieClip()
6、函数在ActionScript3.0中已经被去掉了。现在要实现相同的效果需要从库中建立类链接,然后通过使用new语句创建该类的实例实现类似于复制的效果。,8.2.3 加载并控制外部的影片剪辑,在ActionScript2.0中,可以使用MovieClip的loadMovie()函数和loadMovienum()函数载入外部的影片,也可以时MovieClipLoader()类来载入并控制外部的影片。在ActionScript 3.0中,这些函数和类全部被去除了,要实现相同的功能,必须使用显示对象的Loader类。若要加载并控制外部的SWF影片,需要执行下面的操作:(1)先创建一个URLRequest对象,用于储存要载入文件的URL。(2)创建一个Loader对象。(3)调用Loader对象的load()方法,并把URLRequest对象作为参数传递给Loader对象。(4)建立一个空的显示对象容器,使用addChild()方法将其添加到舞台,用于加载外部载入的影片。(5)建立事件侦听函数,侦听加载事件是否完成。(6)加载完成之后,使用addChild()方法将Loader对象添加入空白显示对象容器。(7)使用显示对象的属性控制该显示对象容器的位置和大小。(8)使用MovieClip类的播放控制方法控制外部影片的播放。,