flash+动画设计与项目实践8

上传人:xh****66 文档编号:61709121 上传时间:2018-12-10 格式:PPT 页数:27 大小:440KB
返回 下载 相关 举报
flash+动画设计与项目实践8_第1页
第1页 / 共27页
flash+动画设计与项目实践8_第2页
第2页 / 共27页
flash+动画设计与项目实践8_第3页
第3页 / 共27页
flash+动画设计与项目实践8_第4页
第4页 / 共27页
flash+动画设计与项目实践8_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《flash+动画设计与项目实践8》由会员分享,可在线阅读,更多相关《flash+动画设计与项目实践8(27页珍藏版)》请在金锄头文库上搜索。

1、第8章 使用ActionScript创建交互式动画,8.1 Flash脚本语言基础 8.2 时间轴控制 8.3 按钮事件 8.4 利用play、stop、nextFrame、prevFrame语句结合按钮控制影片播放 8.5 利用navigateToURL语句连接到网页文件 8.6 制作个性化鼠标指针 8.7 利用startDrag和stopDrag制作可以拖动的影片剪辑 8.8 应用实例 8.9 习题与实验指导,主目录,8.1 Flash脚本语言基础,制作引人入胜的动画,需要用到动作脚本对动画进行编程控制。ActionScript3.0是Flash CS3的脚本语言,通过它可以实现用户与动画

2、的交互,制作各种特殊效果。,8.1.1 交互式动画原理,1. 交互式动画概述 以往电脑制作的动画通常是不可交互的,动画一直播放,观众不能控制动画的进程,动画也只能按照从开头到结尾的顺序播放。而Flash CS3允许用户参与和控制播放的内容,这使得用户的主动性大大提高,用户由被动的接受信息变为主动的查找信息,这就是通常所说的交互性功能。而应用了交互功能的动画就叫做交互式动画。ActionScript 3.0是Flash CS3中的编程语言,它的结构与JavaScript基本相同。ActionScript采用的也是面向对象的编程思想,它是以关键帧为对象,采用事件响应来定义和编写ActionScri

3、pt,在Flash CS3中彻底地实现了面向对象的编程,这就是第三代的交互功能编程语言:ActionScript 3.0,对于有高级语言编程经验的用户来说,学习ActionScript 3.0是一件很容易的事。,2. ActionSscript 3.0新增功能 ActionScript 3.0需要一个全新的虚拟机AVM2来运行,但本质上,它仍是ActionScript,在ActionScript 1.0和ActionScript 2.0中的许多命令和程序概念仍然非常好的适用于ActionScript 3.0。在应用中ActionScript 3.0有很高的功效,还有就是ActionScript

4、 3.0在Flash Player中的回放速度要比ActionScript 2.0代码快10倍。下面是一些ActionScript 3.0中的新特性: 运行时排错:错误会运行时抛出以帮助调试影片。 运行时变量类型检测:在回放时会检测变量的类型是否合法。 类封装:静态定义的类以增强性能。 方法封装:方法现在与它们相关的类实例绑定,因此在方法中的“this”将不会改变。 E4X : 一个新的,更易于操作的xml 正规表达式:支持本地化正规表达式。 命名空间:不但在xml中支持命名空间而且在类的定义中也同样支持。 int和uint数据类型:新的数据变量类型允许ActionScript使用更快的整型数

5、据来进行计算。 新的显示列表模式:个新的,自由度较大的管理屏幕上显示对象的方法。 新的事件类型模式:个新的基于侦听器事件的模式。,8.1.2 脚本编辑区的构成,1. 打开动作面板 要实现动画的交互功能,就必须通过编写ActionScript语言来实现,这就要用到动作帧面板。 右键单击时间轴上需要添加动作脚本的某个关键帧,在弹出的快捷菜单中选择“动作”命令即可弹出动作帧面板。 单击选中时间轴上需要添加动作脚本的某个关键帧,选择“窗口”“动作”命令也可以打开动作帧面板。 选中时间轴上需要添加动作脚本的某个关键帧,按下F9快捷键也可以打开动作帧面板。 要开始写一个新脚本,选择“文件”“新建”“Act

6、ionScript 3.0文件”菜单命令。,2.动作面板的构成,ActionScript命令列表窗口,位置列表窗口,命令编辑窗口,8.1.3 语言的编写方式,编写Flash动作脚本并不需要对ActionScript有完全的了解,用户的需求才是真正的目标。脚本可以由单一命令组成,如指示SWF文件停止播放的命令;也可以由一系列命令和语句组成,如先计算条件,再执行动作。许多ActionScript命令都很简单,可用于为SWF文件创建些基本控件。其他一些动作要求创作人员熟悉编程语言,主要用于高级开发。学习ActionScript的最佳方法往往是创建脚本。可以在动作面板的帮助下建立简单脚本。一旦熟悉了在

7、影片中添加诸如play利stop这样的基础动作之后,就可以开始学习更多有关ActionScript的知识。要使用ActionScript的强大功能,最重要的是了解ActionScript语言的工作原理、ActionScript语言的基本概念、元素以及用来组织信息和创建交互影片的规则等。,1脚本的规划和调试 在为整个影片编写脚本时,脚本的数量和变化可能都是巨大的。例如,可能需要考虑以下问题:决定使用哪些动作,如何建立更有效的脚本结构,以及在哪些地方放置脚本?所有这些问题都需要经过仔细规划和测试。特别是当影片变得越来越复杂时,这些问题更加显得突出。,2. AS3中脚本包的基本编写 在以前的Acti

8、onScript 1.0 和 2.0 中, 有多种途径添加代码:在时间轴上,按钮上或影片剪辑剪辑的实例上,在影片剪辑的时间轴上通过include命令引入外部的as文件或class文件。但是 ActionScript 3.0 是完全基于类的,所以所有的代码都必须放置在类文件中。 【实例】创建一个包,显示100条随机直线。 (1)新建一个flash文档,并保存为“显示随机直线.fla”。 (2) 新建一个flash.as文档,保存为“显示随机直线.as”,并和“显示随机直线.fla”储存在同一目录下。 (3)在“显示随机直线.as”中输入以下代码:,package import flash.dis

9、play.Sprite; public class ExampleApplication extends Sprite public function ExampleApplication( ) graphics.lineStyle(1, 0, 1); for(var i:int=0;i100;i+) graphics.lineTo(Math.random( ) * 400, Math.random( ) * 400); (4)保存然后运行程序,浏览器会打开一个html 文件,显示一个swf 里画了100条随机直线。正如所看到的,当swf 被播放器载入后构造器就会被执行。,3. AS3中脚本类

10、的基本编写 一般来说,一个.as文件中就一个类,但是在AS3中,现在允许在一个文件中定义多个类用来辅助主类。 在.as文件中的辅助类,必须定义在类包以外,并只针对此文件中的主类和其他辅助类可见。 例如: package class MyClass function MyClass() var helper:MyHelper = new MyHelper(); class MyHelper function MyHelper() var helper:HelpersHelper = new HelpersHelper(); class HelpersHelper function Helpers

11、Helper () ,4. 变量作用域修饰符(modifier) AS3的类修饰符在AS2的基础上增加了internal和final。 Internal::是默认的修饰,即缺省设定,它表示此类访问范围为同一个包以内(和Java的缺省的类修饰一样)。 Final:代表此类不可被继承。 另外,AS3还可以使用内部类,内部类在主类同一个文件里package大括弧的外面申明,它只能被申明为internal的。并且,这个内部类只能被主类或者同文件的其它内部类访问。 Public:定义的类或者属性可以在任何作用域内由任何来源访问。构造函数永远都是public的,Flex中的应用程序类(Applicatio

12、n Class)和Flash CS3中的文档类(Document Class)必须是public的。且不能缺省public这个关键词声明。 Protected:声明类似AS2的private,它定义的属性只能在自己子类中可见,而其它场合都是不可见的。这一点与Java等传统OOP语言类似。 Private:注意AS3的private和AS2的private大不相同,它定义的属性只属于自己,子类可以定义毫无牵连的同名属性。 Dynamic:动态(dynamic)类允许在运行时动态地添加属性,常见的动态类有MovieClip和顶级(top-level)的Array。如果您的自定义类要继承于动态类,那

13、么请也定义为动态的,不要省略dynamic关键词。如果您喜欢阅读英文教程,会看到很多“sealed class”,其含义即“非dynamic class”。只不过并没有sealed这个关键词(AS3中,类默认就是sealed的)。,8.1.4 脚本元素,1. 动作 动作是指定一个动画在播放时做某些事情的一些语句。例如,gotoAndPlay把播放头送到指定的帧或标签。 2. 参数 参数可以把值传递给函数。例如,下面的Hello函数使用两个值,由参数firstName和hobby接收: Function Hello(firstName,hobby) HelloText=Hello,+firstN

14、ame+很高兴见到你+ hobby; 3. 类 类是可以创建的数据类型,用以定义新的对象类型。要定义对象的类必须先创建一个构造函数。 4. 常量 常量是不能改变的元素。例如,常量“10”总是具有相同的意思。常量在比较值时很有用。,5. 结构体 结构体是用来定义类的属性和方法的函数。例如,以下代码通过创建称为Circle的构造函数来创建一个新的圆类: Function Circle(x,y,radius) this.x=x; this.y=y; this.radius=radius; 6 数据类型 数据类型是一组值和对这些值进行运算的。例如:字符串、数值、逻辑值(true和flase)、对象和影

15、片剪辑等。 7. 事件 事件是指软件或硬件发生的事情,它要求Flash应用程序予以响应。例如,单击鼠标或按下键盘键之类的事件称做用户事件,因为它是由于用户直接交互操作而发生的。Flash Player自动生成的事件(例如影片剪辑在舞台第一次出现)称做系统事件。 为使应用程序能够对事件做出反应,必须使用事件处理函数。事件处理函数是与特定对象和事件关联的动作脚本代码。例如,当用户单击舞台上的某个按钮时,可以将播放头前进到下一帧。 动作脚本提供了以下几种不同的方法来处理事件:事件处理函数方法、事件侦听器以及按钮和影片剪辑事件处理函数。,8. 表达式 表达式是语句中能够产生一个值的任何一部分。 9 函

16、数 函数是可以用来传送参数并能返回值的可重用代码块。例如,getProperty函数用于传送属性名和电影剪辑实例名,然后返回这些属性的值;getVersion函数返回当前正在插放动画的Flash播放器的版本。 10 事件处理程序 事件处理程序是一种特殊的动作,用来处理和管理事件,例如,onClipEvent就是ActionScript的事件处理程序。 11. 标识符 标识符是用来标明变量、属性、对象、函数或方法的名字。第一个字符必须是字母下划线()或美元符号()。每个后续字符必须是字母、数字、下划线(或美元号() 如,FirstName是一个变量名。 12. 实例 实例是属于某个类的对象。个类的每个实例包含该类的所有属性和方法,所有电影剪辑都是MovieClip类的实例,均拥有该类的属性(all alpha和visible)和方法(如got

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

当前位置:首页 > 生活休闲 > 科普知识

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