数字艺术二维动画FlashCS309

上传人:宝路 文档编号:48372792 上传时间:2018-07-14 格式:PPT 页数:32 大小:1.14MB
返回 下载 相关 举报
数字艺术二维动画FlashCS309_第1页
第1页 / 共32页
数字艺术二维动画FlashCS309_第2页
第2页 / 共32页
数字艺术二维动画FlashCS309_第3页
第3页 / 共32页
数字艺术二维动画FlashCS309_第4页
第4页 / 共32页
数字艺术二维动画FlashCS309_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《数字艺术二维动画FlashCS309》由会员分享,可在线阅读,更多相关《数字艺术二维动画FlashCS309(32页珍藏版)》请在金锄头文库上搜索。

1、计算机二维动画教程 普通高等院校数字艺术类规划教材第9章 交互式动画 【教学目标】 了解交互的概念、鼠标事件和按钮的结构 掌握交互式动画的实现方法 掌握如何控制动画和元件的播放、拖放等 操作 了解面向对象编程的基本概念 掌握面向对象编程的方法9.1 交互的概念 所谓“交互”,就是由用户利用各种方式,如 按钮、菜单、按键、文字输入等,来控制和影响 动画的播放。交互的目的就是使计算机与用户进 行对话(操作),其中每一方都能对另一方的指 示做出反应,使计算机程序(动画也是一种程序 )在用户可理解、可控制的情况下顺利运行。大 家常玩的电脑游戏就是典型的交互程序。 9.1 交互的概念 9.1.1 鼠标的

2、事件 事件名称说说明CLICK鼠标标左键键在对对象上单单 击击的事件。DOUBLE_ CLICK鼠标标左键键在对对象上双 击击的事件。MOUSE_ DOWN鼠标标左键键在对对象上被 按下的事件。MOUSE_ UP鼠标标左键键在对对象上被 松开的事件。MOUSE_ MOVE鼠标标移动动的事件。MOUSE_ OUT鼠标标离开对对象的事件 。MOUSE_ OVER鼠标标移动动到对对象上的 事件。示例:理解鼠标事件 9.1.2 按钮的结构 9.1.2 按钮的结构 9.2 交互的实现 9.2.1 控制动画飞鸟翩翩 所谓主时间轴动画,是指直接在动画的 主时间轴建立的补间动画或逐帧动 画,利用stop()语

3、句和play()语句可 以直接控制这种动画。 作品:飞鸟翩翩 作品:隐形翅膀 9.2.2 控制元件隐形翅膀 9.2.3 对象的拖放金鱼公主 1、startDrag 函数 startDrag(lockCenter:Boolean = false, bounds:Rectangle = null) 功能:允许用户拖动指定的对象。该对象将一直保持可拖动,直 到通过调用 stopDrag() 方法来明确停止,或直到将另一个 对象变为可拖动为止。 在同一时间只有一个对象是可拖动 的。 2、stopDrag 函数 stopDrag() 功能:结束 startDrag() 方法。作品:金鱼公主 9.3 面向

4、对象编程 先前将计算机程序定义为计算机执行的一系列步骤或指令。那 么从概念上讲可能认为计算机程序只是一个很长的指令列表。然而, 在面向对象的编程中,程序指令被划分到不同的对象中代码构成 的功能块。因此相关类型的功能或相关的信息被组合到一个容器中。通过使用面向对象的方法来组织程序,可以将特定信息及其关 联的功能或动作组合在一起,称为“对象”。这能为程序的设计带来很 多好处,其中包括只需跟踪单个变量而非多个变量、将相关功能组织 在一起,以及能够以更接近实际情况的方式构建程序。 9.3.1 OOP的基本概念 若将将计算机程序比作一个房子。当使用面向过程编程时,这 栋房子就是一个单元。如果你想为房子换

5、个门窗,就必须替换整个单 元,重新建造一栋房屋。如果使用OOP技术,就可以在建造时将房屋 设计成一个个独立的模块(对象)。如果需要换玻璃,只需要选择门 窗,调换玻璃就可以;如果需要改变风格,只需要重新调整房屋的颜 色和布局就可以。这就是OOP编程的优势。事实上,在前面讲到的元件,就是一个对象。例如,定义了一 个影片剪辑元件(假设它是一幅矩形的图画),并且已将它的一个副 本放在了舞台上。从严格意义上来说,该影片剪辑元件也是 ActionScript中的一个对象,即MovieClip类的一个实例。1、对象 对象是OOP应用程序的一个重要组成部件。这个组成部件封装了部分 应用程序,这部分应用程序可以

6、是几个过程、数据或更抽象的实体 。在前面的学习中已经多次用到了对象的概念,舞台中的每个实体 都可以被看作是一个对象。2、类 类是一种用户定义的数据类型,它有自己的说明(属性)和操作(方 法),类中含有内部数据和过程,或函数形式的对象方法,通常用 来描述一些非常相似的对象所具有的共同特征和行为。任何类都可 以包含三种类型的特性:属性、方法、事件。这些元素共同用于管 理程序使用的数据块,并用于确定执行哪些动作以及动作的执行顺 序。9.3.1 OOP的基本概念 类由封装在一起的数据和方法构成。封装是指对类中数据的访问会受 到一定限制,要通过一定的方法才能访问数据。从外部来看,类就像一个 部分可见的黑

7、匣子。可见部分称为接口,通过这个接口可以访问类中不可 见的数据部分。其优点是可以减少因直接访问数据而造成的错误。 一个类定义了可区分一系列对象的所有属性,在使用时,需要将该类 实例化。例如, “Sound”类泛指动画中所有的声音类型,如果要讨论对某 一个声音的控制,就是将“Sound”类实例化。“类”仅仅是数据类型的定义 ,就像用于该数据类型的所有对象的模板,例如“所有Example数据类型的 变量都拥有这些特性:A、B和C”。而“对象”仅仅是类的一个实际的实例 ;可将一个数据类型为MovieClip的变量描述为一个MovieClip对象。下面 几条陈述虽然表达的方式不同,但意思是相同的: 变

8、量myVariable的数据类型是Number。 变量myVariable是一个Number实例。 变量myVariable是一个Number对象。 变量myVariable是Number类的一个实例。9.3.1 OOP的基本概念 9.3.2 类、包和文档类 1、类的定义 可以在库中创建一个元件,然后用这个元件可以在舞台上创建出很多 的实例。与元件和实例的关系相同,类就是一个模板,而对象(如同实例 )就是类的一个特殊表现形式。 :package /包的声明public class MyClass /类的定义public var myproperty:Number = 100;public fu

9、nction myMethod() trace(“天天课堂“); 9.3.2 类、包和文档类 2、包(package) 包主要用于组织管理类,也是一种代码封装的概念。AS 3.0中的class 必须放在package里面。包是根据类所在的目录路径所构成的,并可以嵌 套多层。包名所指的是一个真正存在的文件夹,用“.”进行分隔。 package syb.test.myclass public class utils import syb.test.myclass.utils;9.3.2 类、包和文档类 3、构造函数 构造函数是指一个名字与类名相同的方法。当该类被实例化时,该函 数会被自动调用,也可

10、以传入参数,例如: 首先,创建一个类: package public class MyClass public function MyClass(arg:String) trace(“constructed“);trace(“you passed “ + arg); 然后,在 Flash CS3的时间轴上创建该实例: var myInstance:MyClass = new MyClass(“hello“); 结果输出: constructed you passed hello 9.3.2 类、包和文档类 4、继承 一个类可以从另一个类中继承(inherit)和扩展(extend)而来 。这就

11、意味着它获得了另一个类所有的属性和方法(除了那些被 private 掩盖住的属性)。下面分别创建两个类来说明这种继承关系。注意,每个类都必须在其自身的文件中,文件名为该类的类名, 扩展名.as,所以必须要有 文件和 MySubClass.as 文件。因此,在使用 Flash CS3 时,保存的 fla 文件要与这两个类在同一个文件夹。9.3.2 类、包和文档类 5、MovieClip/Sprite 子类我们可以自己写一个类,然后让另一个类去继承它。在 AS 3.0中 ,所有代码都不是写在时间轴上的,那么它们一开始都要继承自 MovieClip或Sprite。MovieClip类是影片剪辑对象属

12、性和方法的 ActionScript模板。它包括我们所熟悉的属性如:影片的(x,y)坐标、 缩放等。 AS 3.0还提供了Sprite类,通常把它理解为不在时间轴上的影片 剪辑。很多情况下,只使用代码操作对象,并不涉及时间轴和帧,这时就 应该使用Sprite这个轻型的类。如果一个类继承自 MovieClip或Sprite,那 么它会自动拥有该类所有的属性和方法,我们还可以为这个类增加特殊的 属性和方法。 9.3.2 类、包和文档类 6、创建文档类 一个文档类就是一个继承自 Sprite 或 MovieClip 的类,并作为 SWF 的主类。读取 SWF时,这个文档类的构造函数会被自动调用。它就

13、成为 了我们程序的入口,任何想要做的事都可以写在上面,如:创建影片剪辑 、画图、读取资源等等。在 Flash CS3 中写代码,可使用文档类,也可以 选择继续在时间轴上写代码。但是使用文档类文件,更利于代码的共享、 分析和扩展。9.4 OOP编程实例 【实例】Hello,world 9.4 OOP编程实例 【实例】绘制箭头 9.4 OOP编程实例 【实例】绘制箭头 9.4 OOP编程实例 【实例】鼠标操作 利用文档类,绘制一个圆形;当鼠标经过时,圆形的透明度变 为50;离开后,透明度恢复正常;在圆形上单击鼠标,圆形 会跳动到一个随机位置。 9.4 OOP编程实例 【实例】反弹小球 利用文档类,

14、使画面上随机产生20个小球;小球向某个方向运动 ,遇到画面边缘后,会折射反弹,继续运动; 9.4 综合实例花落知多少 一、动态创建元件实例在Flash中向屏幕中添加内容的一个方法是将资源从库中拖 放到舞台上,这种方法最简便直观,但对于一些需要在动画 播放期间动态添加元件实例的情况,这种方法就不适用了。 这就需要考虑用ActionScript来创建实例。 默认情况下,Flash文档库中的影片剪辑元件实例不能以动态方 式创建,也就是说不能使用ActionScript创建。因此,为了 使元件可以在ActionScript中使用,必须指定为ActionScript 导出该元件。后面将结合实例说明导出元

15、件定义的方法。 这种动态创建元件实例的方法具有多个优点:代码易于重用、编 译时速度加快,可以在ActionScript中进行更复杂的修改。二、创建对象实例 要创建一个对象实例,应将new运算符与类名一起使用,如: var raceCar:MovieClip = new MovieClip(); var birthday:Date = new Date(2006, 7, 9); 通常,将使用new运算符创建对象称为“调用类的构造函数”。“构造函 数”是一种特殊方法,在创建类实例的过程中将调用该方法。当用此 方法创建实例时,需要在类名后加上小括号,有时还可以指定参数值 。 对于可使用文本表达式创建

16、实例的数据类型,也可以使用new运算符来创 建对象实例。例如,下面的两行代码执行的是相同的操作: var someNumber:Number = 6.33; var someNumber:Number = new Number(6.33);9.4 综合实例花落知多少 三、addChild ()方法在ActionScript 3.0中,当以编程方式创建影片剪辑(或任何其它 显示对象)实例时,只有通过对显示对象容器调用addChild()或 addChildAt()方法将该实例添加到显示列表中后,才能在屏幕上 看到该实例。允许用户创建影片剪辑、设置其属性,甚至可在向 屏幕呈现该影片剪辑之前调用方法。public function addChild(child:DisplayObject):DisplayObject9.4 综合实例花落知多少 作品:花落知多少 在美丽的花丛中,每次单击鼠标,就会

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

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