flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作

上传人:E**** 文档编号:102544022 上传时间:2019-10-03 格式:DOC 页数:22 大小:1.46MB
返回 下载 相关 举报
flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作_第1页
第1页 / 共22页
flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作_第2页
第2页 / 共22页
flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作_第3页
第3页 / 共22页
flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作_第4页
第4页 / 共22页
flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作》由会员分享,可在线阅读,更多相关《flash cs3动画制作基础与案例教程 教学课件 作者 温俊芹 教学讲义 第8章高级动画制作(22页珍藏版)》请在金锄头文库上搜索。

1、第八章 高级交互动画制作第八章 高级交互动画制作上一章介绍了ActionScript的基本应用,其中介绍了一些基本概念和常用的几个简单命令,为了更好地使用ActionScript,本章介绍ActionScript的高级应用,综合使用Flash动画的各种脚本,制作出交互功能比较好的动画效果。在ActionScript的高级编程中,ActionScript3.0主要是面对高级程序员做面向对象程序开发的。对于我们初学者来说,掌握基本的编程思路和方法已经足够了。第一部分:学习要求一 应知目标1. 了解类、对象、方法和属性的基本概念2. 了解控制影片剪辑元件的相关脚本的语法知识3. 了解路径和阶层的含义

2、和区别4. 了解相对路径和绝对路径的概念和区别5. 了解影片简介的层次结构二 应会目标1. 掌握控制影片剪辑元件的相关脚本2. 掌握导入外部影片的方法3. 掌握复制影片和删除影片的方法4. 掌握综合运用脚本的方法三 预备知识1. 掌握动画制作的基本方法2. 熟悉图形元件的绘制和导入外部元件3. 熟悉动画制作的流程4. 了解一门基本的编程语言四 课时安排项目学时教学方式(参考)1预习课余预习本课相关的知识,并能完成本次课的项目实例操作2课堂讲解2学时. 讲解类、对象、方法和属性的基本概念. 讲解路径和阶层的含义与区别. 讲解控制影片剪辑元件的相关脚本. 讲解loading的制作过程3实训练习2学

3、时. 参考课堂上教师讲解的操作步骤,完实践训练中的项目内容. 有实力的同学继续完成职岗演练中的实战项目内容第二部分:课堂讲解8.1 ActionScript的类、对象、方法和属性在ActionScript中,经常要用到类(Class)、对象(Object)、方法(Method)和属性(Property)。但是在面向对象的软件开发中有九个最基本的概念:类、对象、属性、方法、抽象、封装、继承、多态,以及事件都是要了解的。作为初学者,我们主要掌握前四种类型就可以了。类是对象的软件抽象,是创建对象的模板。例如,如果一个人被看作一个对象的话,则人这个物种就可以被看作一个类。类定义描述了包括数据和功能在内

4、的结构,对象由其创建。一个类表示一组相似的对象。对象是类的实例。属性是数据,而方法是函数。属性是类知道的事情,而方法是类完成的事情。属性和方法都是类的职责。面向对象的软件开发是基于这样的概念:系统应由对象来创建,对象拥有数据和功能。属性定义数据,而方法定义功能。我们举一个比较形象的比喻来说明四者之间的关系。假如我们地球上的所有人是一个类,这个类的名称为Person,那么地球上的每一个人就是Person类的一个对象,每个人都有“嘴巴”等属性,也有“唱歌”的方法,当然“唱歌”是通过“嘴巴”唱的,那么是不是就可以说“唱歌”方法是属性“嘴巴”的方法了呢?非也!属性和方法的概念是地位平等的,不能说方法是

5、属性的方法,方法只能说是类的方法,而属性同样只能说是类的属性。然后,你虽然有了“唱歌”的方法,那你是不是就能时时刻刻“唱歌”啊?这样别人还以为你有病呢?那么我们什么时候才能“唱歌”呢,当然是“练习唱歌”这个事件发生的时候了。好的,在这里,“练习唱歌”就是一个事件,它触发了Peerson类中某个对象,也是某个人“唱歌”的方法。虽然“我们唱歌”和“别人听我们唱歌”都是动作,但不同的是,“别人听我们唱歌”是对象外部的,是事件;而“我们唱歌”是对象的方法,是对象自己的动作,是内部的。现在是否明白了对象和事件的含义了吧?同样在Flash交互动画中,舞台上的任何影片剪辑实例都是对象,对象有属性,在影片的整

6、个过程中用户可以随时指定某个实例对象进行更新或改变属性。影片剪辑的属性和方法都是用点语法来表示的。例如一个影片剪辑实例mc,其位置属性值和播放方法可以表示为:mc._x=100; /影片剪辑元件mc的X轴坐标值为100mc._y=50; /影片剪辑元件mc的Y轴坐标值为50mc.play(); /影片剪辑元件mc开始播放8.2 路径和阶层在Flash中用ActionScript编辑程序脚本时,经常需要对某对象实施一种动作或在某种场合下调用某对象,为了分清不同位置的对象,就需要引入路径和阶层的概念。8.2.1 路径Flash影片剪辑元件都有一个特性:元件内又可以包含其它元件,被包含的元件中还可以

7、再包含其它的元件,为了说明这些元件所在的位置,就引入了路径的概念。即在ActionScript内要指定某个元件时,应指明它所在的路径,ActionScript才能找到它。在Flash中,路径可分为两种:绝对路径和相对路径。每层之间用()作为分隔号。1. 绝对路径绝对路径是一个给定影片剪辑元件实例的完整地址信息。绝对路径以文档加载到其中的层名开始,一直延续到显示列表中的目标实例。在Flash中,主场景的时间轴是根目录,绝对路径是指从根目录一直写到当前对象的表示方法,用_root来表示根目录。例如:主场景内有一个名为Ball的影片剪辑元件,其路径的写法就是_root.Ball。当指定该实例转到第1

8、0帧处执行时,就需要写为_root.Ball.gotoAndPlay(10)。若Ball元件中还包含一个影片剪辑元件Ball01,而Ball01中又包含一个影片剪辑元件Ball001,如果需要命令该元件停止播放,则需要写成_root.Ball.Ball01.Ball001.stop()。2. 相对路径相对路径取决于控制时间轴和目标时间轴之间的关系。在相对路径中,使用关键字this 指示当前层中的当前时间轴;使用别名_parent 指示当前时间轴的父时间轴。可以重复使用别名_parent,在Flash Player同一层内的影片剪辑层次结构中逐层上升。例如,_parent._parent 控制影

9、片剪辑在层次结构中上升两层。Flash Player中任何一层的最顶层时间轴是唯一具有未定义的_parent值的时间轴。实例flower(是tree子影片剪辑)时间轴上的动作,可以使用以下目标路径将实例tree作为目标:_parent要从flower中的动作指向实例forest(tree的父影片剪辑),可以使用以下相对路径:_parent._parent相对路径在重复使用脚本时非常有用。例如,您可以将以下脚本附加到某个影片剪辑,使其父项放大150%:onClipEvent (load) _parent._xscale = 150;_parent._yscale = 150;也可以通过将此脚本附

10、加到任意一个影片剪辑实例上来重复使用该脚本。8.2.2 阶层在Flash中,除了一层层的时间轴路径外,还有“阶层”概念。阶层专门用于“载入影片剪辑(loadMovie)”和“复制影片剪辑(duplicateMovieClip)”。当从外部载入很多影片时,就无法利用时间轴上的图层来安排这些影片播放的前后顺序了,此时可使用阶层来决定它们的前后顺序。阶层的数字越大就越靠前,会遮住阶层小的影片内容。在同一阶层中,同时只能有一部影片,即如果阶层2中已经有一个影片了,如果再向次阶层中载入一个影片时,后载入的影片将完全替代阶层中的原影片。加载到Flash Player实例中的初始SWF文件会自动加载到_le

11、vel0。_level0中的SWF文件为所有随后加载的SWF文件设置帧频、背景色和帧大小。然后SWF文件堆叠在处于_level0 的SWF文件之上的更高编号级别中。必须为每个使用loadMovieNum()加载到Flash Player中的SWF文件分配一个级别。您可按任意顺序分配级别。如果您分配的级别(包括_level0)中已经包含SWF文件,则处于该级别的SWF文件将被卸载并替换为新的SWF文件。每个Flash动画都有一个主时间轴,这个主时间轴就被FlashPlayer预置为最高级也就0级(level0)。通过loadMovieNum(),loadMovie动作我们可以在动画的播放过程中加

12、载其它的SWF文件到播放器中,并且把他放置于除最高级(0级_level0)的任何一个层级,可能第10层级当然也可以放置在100层级。被载入的电影剪辑他们不但能拥有自己的层级,还拥有自己的时间轴。也就是说假如我们装载了20个SWF文件,那么这20个电影剪辑实例都在自己的某个层级中拥有了一个自己的时间轴,不仅如此,在载入的电影剪辑中还能够包含其它的电影剪辑,这些被包含的电影剪辑还可以拥有自己的时间轴,这样Flash中的层级别就显得非常复杂了,如图8-1所示。通过Flash播放器中层级和电影剪辑的层次结构图形我们不难看出层级号大的电影剪辑实例堆叠在层级号小的上面,也就是说如果堆叠在前面的电影剪辑如果

13、不是透明的是会遮挡主处在后面的电影剪辑。其次我们还能发现层级和层级之间的关系是“不交叉”的,“不包含”的,属“平行”关系。这里还要注意一点层级和层级的编号不一定要连续如_level2;_level99。层级之间以绝对大于,或绝对小于关系存在。层级和层级是不透明关系,和主场景中的层不一样,并不是一张张“透明的纸”。举例说明,通过loadMovie动作,把一个电影剪辑载入到播放器中,并且把他放置于第99层(_level99)然后又把另外的一个电影剪辑放在第77层级(_level77)_level99和_level77是互不包含的,_level99会堆叠在_level77的前面并且会遮挡_leve7

14、7,但他们拥有各自的主时间轴互不干扰!如同在一个车间中各自干各自的活。图8-1级别关系示意图8.3 使用duplicateMovieClip、removeMovieClip动作当SWF文件正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑中处于什么位置,在重复的影片剪辑中,播放头始终从第1帧开始。原始影片剪辑中的变量不会复制到重复的影片剪辑中。使用removeMovieClip() 函数或方法可以删除用duplicateMovieClip() 创建的影片剪辑实例。duplicateMovieClip()函数表达式为:duplicateMovieClip(target:MovieCli

15、p, newname:String, depth:Number) : Void其中:参数u target:Object :要复制的影片剪辑的目标路径。此参数可以是一个字符串(例如 my_mc),也可以是对影片剪辑实例的直接引用(例如my_mc)。能够接受参数以Object类型在签名中列出的多种数据类型。u newname:String :所复制的影片剪辑的唯一标识符。u depth:Number:所复制的影片剪辑的唯一深度级别。深度级别是所复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个所复制的影片剪辑分配一个唯一的深度级别,以防止它替换已占用深度上的SWF文件。removeMovieClip()的函数表达式:removeMovieClip(target:Object)项目实例8-1:制作动画,当点击“Play”按钮时,逐渐出现5只鸟在海上飞行,然后再来回飞行的效果,点击“删除小鸟”按钮,然后删除一只小鸟。(1)新建一个影片文档,设置文档大小为“700600”像素,然后导入素材img8_1.jpg,img8_2.gif。(2)新建一个图形元件“背景”,将img_1.jpg拖入元件中,再新建两个按钮元件,并名为“Play”和“删除小鸟”。(3)新建一

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号