1、第14章使用ActionScript创建交换动画,教学内容:Flash动画不仅可以根据不同的要求动态地调整动画播放的顺序或内容,也可以接受反馈的信息实现交互操作,这些可以利用Flash中的编程语言ActionScript来实现。ActionScript是Flash中的一种高级技术,也是Flash中的一种编程语言。学会ActionScript就可以做出更加完美的Flash作品 。,学习目标 ActionScript概述 ActionScript 3.0基本语法 常用ActionScript语句 ActionScript代码的输入 ActionScript的编辑环境,教学目标和基本要求 _ _ _
2、 教学时间:本章共分_课时 教学方法 案例教学 多媒体教学 理论面授 教学素材 课程范例文件:sample第14章 练习文件:exercise第14章,14.1 ActionScript概述,随着Flash技术在因特网上的出现,网页多媒体技术从此离我们不再遥远,网页多媒体设计也不再是计算机业界的专业术语,而是所有网页制作者共同的话题。从个人主页到公司主页,从在线娱乐到商务平台,Flash技术的出现使原本无声无息的网页变得有声有色,它出色的多媒体功能以及强大易用的特性,使众多的网页设计师为之痴迷。在网络技术飞速发展的今天,要成为真正的热点网站,必须从媒体修饰转向商务应用。这样,Flash脚本编程
3、就显得格外重要了 。,14.1.1 Flash中的ActionScript ActionScript是一种专用的Flash程序语言,是Flash CS6的一个重要组成部分,它的出现给设计和开发人员带来了很大方便。通过使用ActionScript脚本编程,可以实现根据运行时间和加载数据等事件来控制Flash文档播放的效果。另外可以为Flash文档添加交互性,使之能够响应按键、单击等操作。还可以将内置对象与内置的相关方法、属性和事件结合使用,并且允许用户创建自定义类和对象,创建更加短小精悍的应用程序,所有这些都可以通过可重复利用的脚本代码来完成。 Flash编程指的是利用Flash内建的Actio
4、n脚本语句进行程序设计。ActionScript 语言自从形成以来已经发展了多年。,随着Flash的每次新发行,更多的关键字、对象、方法和其他的语言元件已经被增加到语言中。 Flash利用ActionScript编程的目的就是更好地与用户进行交互,通常用Flash制作页面可以很轻易地制作出华丽的Flash特效,如遮罩、淡入淡出以及动态按钮等。使用简单的Flash编程可以实现场景的跳转、与HTML网页的链接、动态装载SWF文件等。而高级的Flash编程可以实现复杂的交互游戏,根据用户的操作响应不同的电影,与后台数据库及各种程序进行交流,如ASP、PHP、SQL Server等。庞大的数据库系统及
5、各种程序与Flash内置的编程语句的结合,可以制作出很多人机交互的网页、游戏以及在线商务系统。,14.1.2 ActionScript和JavaScript的区别和联系 Flash的脚本编程语言整合了很多新的语法,它看起来很像JavaScript。这是因为Flash的ActionScript采用了和JavaScript一样的语法标准,所以使编写的脚本以更接近和遵守被用于其他的面向对象语言的标准并支持所有的标准 ActionScript 语言的元件。随着类、接口、扩充的工具等关键字,ActionScript语法对于熟悉其他的语言程序设计者更加容易。如果读者熟悉JavaScript,那么理解Fla
6、sh 的ActionScript会容易得多,但是这两者之间也存在着明显的区别。 ActionScript不支持浏览器相关的对象,如Document、Anchor、Window等。,ActionScript不支持全部JavaScript的预定义对象。 ActionScript不支持JavaScript的函数构造。 ActionScript只能用eval语句来处理变量,从而直接得到变量的值。 在JavaScript中,如果把一个没有定义的变量转换成字符串类型,会得到一个未定义的变量,而在ActionScript中则会返回一个空字符串。,14.2 ActionScript3.0的基本语法,Actio
7、nScript的语法是ActionScript编程中十分重要的组成部分,和其他类型的编程语言相同,只有对其语法有了充分的认识才能在编写程序的过程中游刃有余,编写出精彩的程序。下面将详细介绍ActionScript的基本语法 。 1点语法 2小括号 3大括号 4分号 5注释 6字母的大小写 7分号和常量,14.3 常用ActionScript语句 在Flash中经常用到的语句是条件语句和循环语句。条件语句包括if语句、特殊条件语句,循环语句包括while循环、for循环语句 。,14.3.2 if条件判断 条件语句If能够建立一个执行条件,只有当If语句设置的条件成立时,才能继续执行后面的动作。
8、If条件语句主要应用于一些需要对条件进行判定的场合,其作用是当If中的条件成立时执行If和else if之间的语句 。 最简单的条件语句如下: If(条件a)语句a 当满足if括号内的条件a时,执行大括号内的语句a。 一般,else都与if一起使用表示较为复杂的条件判断:If (条件1) 语句aelse语句b,当满足if括号内的条件a时,执行大括号的语句a;否则执行语句b。 以下是括号“else if”的条件判断的完整语句:If(条件a) 语句a else if(条件b) 语句b else 语句c 当满足if括号内的条件a时,执行大括号的语句a;否则判断是否满足条件b,如果满足条件b就执行大括
9、号里的语句b;如果都不满足,就执行语句c。,14.3.2 特殊条件判断 特殊条件判断语句一般用于赋值,本质是一种计算形式,格式为: 变量a=判断条件?表达式1:表达式2;如果判断条件成立,a就取表达式1的值;如果不成立就取表达式2的值。例如: Var a:Number=1 Var b:Number=2 Var max:Number=aba:b 执行以后,max就为a和b中较大的值,即值为2。,14.3.3 for循环 通过for语句创建的循环,可在其中预先定义好决定循环次数的变量。 for语句创建循环的语法格式如下。 for(初始化 条件 改变变量) 语句 在“初始化”中定义循环变量的“初始值
10、”,“条件”是确定什么时候退出循环,“改变变量”是指循环变量每次改变的值。例如:,trace=0 for(var i=1 i=30 i+ trace = trace +I 以上实例中,初始化循环变量i为1,每循环一次,i就加1,并且执行一次“trace = trace +i”,直到i等于30,停止增加trace。,14.3.4 while和do while循环 while语句可以重复执行某条语句或某段程序。使用while语句时,系统会先计算一个表达式,如果表达式的值为true,就执行循环的代码。在执行完循环的每一个语句之后,while语句会再次对该表达式进行计算。当表达式的值仍为true时,会
11、再次执行循环体中的语句,直到表达式的值为false。 do while语句与while语句一样可以创建相同的循环。这里要注意的是,do while语句对表达式的判定是在其循环结束处,因而使用do while语句至少会执行一次循环。 for语句的特点是有确定的循环次数,而while和do while语句没有确定的循环次数,具体使用格式如下。,while(条件) 语句 以上代码只要满足“条件”,就一直执行“语句”的内容。 do 语句 while(条件),14.4 ActionScript中的运算符,ActionScript运算符分为以下几种:数值运算符、关系运算符、赋值运算符、逻辑运算符、等于运算
12、符和位运算符。运算符处理的值称为操作数。如“x1;”中“”即为运算符,而“x”即为操作数 。,14.4.1 数值运算符 数值运算符可以执行加、减、乘、除以及其他的数学运算,也可以执行其他算术运算。增量运算符最常见的用法是i+,可以在操作数前后使用增量运算符。数值运算符如表14-1所示,数值运算符的优先级别与一般的数学公式中的优先级别相同 。,14.4.2 比较运算符 比较运算符用于比较表达式的值,然后返回一个布尔值(true或false),这些运算符最常用于判断循环是否结束或用于条件语句中 。,14.4.3 赋值运算符 赋值运算符主要用来将数值或表达式的计算结果赋给变量。在Flash中大量应用
13、赋值运算符,这样可以使设计的动作脚本更为简洁 。,14.4.4 逻辑运算符 逻辑运算符对布尔值(true或false)进行比较,然后返回第三个布尔值。 如果两个操作数都为true,则使用逻辑【与】运算符(&)返回true,除此以外的情况都返回false。如(53)&(87)两边的操作数均为true,那么返回的值也为true。又如将该表达式改为(57),第一个操作数为false,那么即使第二个操作数为true,最终返回的值仍然为false。 如果其中一个或两个操作数都为true,则逻辑【或】运算符()将返回true。,14.4.5 等于运算符 可以使用等于运算符确定两个操作数的值或标识是否相等。
14、这种比较的结果是返回一个布尔值(true或false)。如果操作数是字符串、数字或布尔值,则它们将通过值来比较;如果操作数是对象或数组,则它们将通过引用来比较。全等“=”运算符与等于运算符相似,但是有一个很重要的差异,即全等运算符不执行类型转换。如果两个操作数属于不同的类型,全等运算符就会返回false,不全等“!=”运算符会返回全等运算符的相反值。用赋值运算符检查等式是常见的错误 。,14.4.6 位运算符 位运算符是对一个浮点数的每一位进行计算并产生一个新值。位运算符又可以分为按位移位运算符和按位逻辑运算符。按位移位运算符有两个操作数,将第一个操作数的各位按第二个操作数指定的长度移位。按位
15、逻辑运算符有两个操作数,执行位级别的逻辑运算。,14.4.7 运算符的优先级 当两个或两个以上的运算符在同一个表达式中被使用时,一些运算符与其他运算符相比有更高的优先级。ActionScript就是严格遵循这个优先等级来决定哪个运算符首先执行,哪个运算符最后执行的 。,14.5 代码的输入 ActionScript是一种面向对象的脚本语言,可用于控制Flash内容的播放方式。因此,在使用ActionScript的时候,只要有一个清晰的思路,通过简单的ActionScript代码语言的组合,就可以实现很多相当精彩的动画效果。在ActionScript 3.0中可以将它添加在以下几个对象中:帧、按
16、钮和影片剪辑 。,14.5.1 在帧中插入ActionScript 将ActionScript添加在指定的帧上,也就是前面介绍的将该帧作为激活ActionScript程序的事件。添加后当动画播放到添加ActionScript脚本的那一帧时,相应的ActionScript程序就会被执行,典型的应用就是控制动画的播放和结束时间。根据需要使动作在相应的时间进行。如果需要给帧添加ActionScript,帧的类型就必须是关键帧。为关键帧添加一个ActionScript,可以使影片达到帧需要的效果。,14.5.2在影片剪辑中插入ActionScript Flash动画中的影片剪辑元件拥有独立的时间轴,每
17、个影片剪辑元件都有自己惟一的名称。为影片剪辑元件添加语句并指定触发事件后,当事件发生时就会执行设置的语句动作。为影片剪辑元件添加语句的方法与为按钮添加语句的方法基本相同。,14.5.3 在按钮中插入ActionScript 这种添加方式更加常用,也更容易理解,例如有时我们欣赏一个成熟的Flash动画时,打开后首先要单击一个播放按钮,动画才可以开始播放,这就是在该按钮上添加了ActionScript程序的缘故。通常这种添加方式是在被添加的按钮发生某些事件时执行相应的程序或者动作,如鼠标滑过按钮、按钮被按下或者释放等。我们设计的动画中如果添加了类似的效果,整个作品的互动性就会明显增强,这样就很容易
18、地完成了交互式界面的制作。另外,多个按钮同时作为实例出现在动画中并且都添加了ActionScript程序时,每个实例都会各自有自己独立的动作,不会相互影响 。,14.6 ActionScript的编辑环境 上面讲述的都是ActionScript在应用中非常常用的一些基本语法功能。但这些都还没有深入地涉及使用ActionScript编写脚本的工作,下面的内容将具体介绍使用ActionScript进行程序编写的编辑环境【动作】面板,它是Flash CS6提供专门用来编写动作的 。,14.6.1 【动作】面板概述 【动作】面板是ActionScript编程中所必需的,它是专门用来进行ActionSc
19、ript编写工作的,即ActionScript程序的开发环境。 1动作工具箱 2程序添加对象面板 3工具栏,14.6.2 动作面板的Action命令 Flash CS6中包含了下面几种常见的Action命令,分别如下 。 1全局函数 2ActionScript 2.0类 3全局属性 4运算符 5语句 6编译器指令 7常数 8否决的,14.7 综合案例 通过前面章节的学习,对ActionScript 3.0的编程环境,语法规则、基本语句等已经有所了解。本节将通过实例来说明Flash中内置基本语句的使用,以及手动编写ActionScript脚本的方法 。,综合案例1控制声音的播放 “Play”是一
20、个播放命令,用于控制时间轴上指针的播放。运行后,开始在当前时间轴上连续显示场景中每一帧的内容。该语句比较简单,无任何参数选择,一般与“Stop”命令及Goto命令配合使用。“Stop”是一个停止播放动画,并使动画停留在当前的帧中的命令,该指令无语法参数。下面以一个简单案例来讲解这两个命令。选择stopAllSounds命令后,正在播放的声音文件将会停止播放。stopAllSounds并不是永久禁止播放声音文件,只是停止播放指针所在位置以后的所有的声音文件,当重新播放时声音文件又开始播放。跳转命令主要用于控制动画的跳转。根据跳转后的执行命令可以分为gotoAndStop和gotoAndPlay两
21、种 。,综合案例2创建跳转到其他网页动画 getURL用于建立Web页面链接,该命令不但可以完成超文本链接,而且还可以链接FTTP地址、CGI脚本和其他Flash影片的内容。在URL中键入要链接的URL地址,可以是任意的,但是只有URL正确的时候,链接的内容才会正确显示出来,其书写方法与网页链接的书写方法类似,如http:/ www.xxxxnet。在设置URL链接的时候最好使用绝对路径。,综合案例创建网页导航动画 网站导航是指通过一定的技术手段,为网站的访问者提供一定的途径,使其可以方便地访问到所需的内容。可以使用Flash制作动感的网页导航。,综合案例4跟随鼠标图像特效 创建跟随鼠标图像特效效果 。,本 章 小 结,由于脚本语言是一门系统的语言,在这么短的篇幅内不可能详细地为大家讲解每一条命令、每一个语法,我们只是介绍了一些脚本编程的基本术语和常用的语法知识及语句。像外语一样,要掌握一门计算机语言也是一个长期而辛苦的过程。但是要制作出高级的动画效果,脚本知识是一个动画制作者不可缺少的。 如果要更深入地学习这门语言,读者可以参阅一些专门介绍ActionScript语言的书籍,或从网上学习更丰富更新的脚本知识。使用系统的帮助功能一边编辑一边查看也是个很好的方法,帮助中有很详细的各种命令的描述、用法及实例。,