《Flash动作脚本》PPT课件.ppt
Flash CS4创意动漫制作基础创意动漫制作基础第五章 Flash动作脚本 Flash主要内容Action Script 3.0概述概述1认识动作面板认识动作面板 2给给Flash文件添加动作脚本文件添加动作脚本 3使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”4影片剪辑的属性调整与路径影片剪辑的属性调整与路径 5按钮控制按钮控制 6FlashAction Script 3.0概述概述v要点导读1.ActionScript的概念的概念2.ActionScript 3.0的语法规则的语法规则3.ActionScript 3.0与与2.0区别区别FlashAction Script 3.0概述概述vActionScript是Flash的脚本语言,与JavaScript在网页制作中起得作用相似,它在Flash内容和应用程序中实现交互性、数据处理以及其他功能。新出的ActionScript 3.0使用面对对象编程,增加更强的报错能力,指定类型也更明确。ActionScript 3.0由Flash Player中的ActionScript虚拟机(AVM2)来执行的,它的代码通常被编译器编译成“字节码格式”(一种由计算机编写且能够为计算机所理解的编程语言),随后字节码被嵌入到SWF文件中,SWF文件由运行时环境Flash Player执行。Flashv面向面向对对象象v类类与与对对象象FlashAction Script 3.0概述概述v Action Script 3.0语法规则语法规则在在ActionScript 3.0中,一个变量实际上包含三个不中,一个变量实际上包含三个不同部分:变量名,可以存储在变量中的数据类型,同部分:变量名,可以存储在变量中的数据类型,存储在计算机内存中的实际值。存储在计算机内存中的实际值。对变量来说,数据类型也非常重要。在对变量来说,数据类型也非常重要。在ActionScript 3.0中创建变量时,应指定该变量将保中创建变量时,应指定该变量将保存的数据类型;此后,程序只能在该变量中存储此存的数据类型;此后,程序只能在该变量中存储此类型的数据,类型的数据,可以使用与该变量的数据类型关联的可以使用与该变量的数据类型关联的特定特性来处理值。特定特性来处理值。在在ActionScript中,要创建一个变量或声明变量,中,要创建一个变量或声明变量,应使用应使用var语句:语句:“var value1:Number;”。在本例。在本例中,指示计算机创建一个名为中,指示计算机创建一个名为value 的变量,该变的变量,该变量仅存储量仅存储Number(数值)的数据。用户还可以立(数值)的数据。用户还可以立即在变量中存储一个值:即在变量中存储一个值:“var value2:Number=17;”。FlashAction Script 3.0概述概述v Action Script 3.0语法规则语法规则在在ActionScript中,有很多数据类型可以用作变量中,有很多数据类型可以用作变量的数据类型。其中,基本数据类型有:的数据类型。其中,基本数据类型有:String:一个文本值,例如,一个名称或书中某一章的文:一个文本值,例如,一个名称或书中某一章的文字;字;Number:任何数值,包括有小数部分或没有小数部分的:任何数值,包括有小数部分或没有小数部分的值;值;Int:一个整数(不带小数部分的整数);:一个整数(不带小数部分的整数);Uint:一个:一个“无符号无符号”整数,即不能为负数的整数;整数,即不能为负数的整数;Boolean:一个:一个true或或false值,例如开关是否开启或两个值,例如开关是否开启或两个值是否相等。值是否相等。FlashAction Script 3.0概述概述v Action Script 3.0语法规则语法规则ActionScript是一种是一种面向对象面向对象的编程语言。对象是的编程语言。对象是ActionScript中一个非常重要的概念。事实上,如果用户在中一个非常重要的概念。事实上,如果用户在Flash中处理过元件,那么用户已经处理过对象了。假设用户中处理过元件,那么用户已经处理过对象了。假设用户已定义了一个影片剪辑元件(一幅圆的图画),并且将它的一已定义了一个影片剪辑元件(一幅圆的图画),并且将它的一个副本放在舞台上。从严格意义上来说,该影片剪辑元件也是个副本放在舞台上。从严格意义上来说,该影片剪辑元件也是ActionScript中的一个对象,即中的一个对象,即MovieClip类的一个实例。类的一个实例。用户可以修改该影片剪辑的不同特征。例如,当选中该影片剪用户可以修改该影片剪辑的不同特征。例如,当选中该影片剪辑时,用户可以在辑时,用户可以在“属性属性”检查器中更改许多值,例如,它的检查器中更改许多值,例如,它的x坐标、宽度,进行各种颜色调整(例如,更改它的坐标、宽度,进行各种颜色调整(例如,更改它的alpha透明透明度),或对它应用各种滤镜。还可以使用其它度),或对它应用各种滤镜。还可以使用其它Flash工具进行工具进行更多更改,例如,使用更多更改,例如,使用“任意变形任意变形”工具旋转该对象。在工具旋转该对象。在Flash创作环境中修改一个影片剪辑元件时所做的更改,同样可在创作环境中修改一个影片剪辑元件时所做的更改,同样可在ActionScript中通过代码来实现。中通过代码来实现。FlashAction Script 3.0概述概述v Action Script 3.0语法规则语法规则“运算符运算符”是用于执行计算的特殊符号。运算符主是用于执行计算的特殊符号。运算符主要用于数学运算,也可以用于值的比较。通常,运要用于数学运算,也可以用于值的比较。通常,运算符使用一个或多个值并算符使用一个或多个值并“算出算出”一个结果。例如:一个结果。例如:加法运算符加法运算符(+)将两个值相加,结果是一个数字:将两个值相加,结果是一个数字:var sum:Number=43+62;乘法运算符乘法运算符(*)将一个值与另一个值相乘,结果是一将一个值与另一个值相乘,结果是一个数字:个数字:var result:Number=5*6*7;等于运算符等于运算符(=)比较两个值,看它们是否相等比较两个值,看它们是否相等 FlashAction Script 3.0概述概述v Action Script 3.0语法规则语法规则在编写在编写ActionScript时,用户通常会希望给自己留一些注释,时,用户通常会希望给自己留一些注释,这些注释可能解释某些代码行如何工作或者为什么做出特定的这些注释可能解释某些代码行如何工作或者为什么做出特定的选择。选择。“代码注释代码注释”是一个工具,用于编写计算机应在代码中忽是一个工具,用于编写计算机应在代码中忽略的文本。略的文本。ActionScript包括两种注释。单行注释:在一行中的任意位置包括两种注释。单行注释:在一行中的任意位置放置两个斜杠来指定单行注释。计算机将忽略斜杠后直到该行放置两个斜杠来指定单行注释。计算机将忽略斜杠后直到该行末尾的所有内容。末尾的所有内容。var johnieAge:Number=10;/默认情况下,将默认情况下,将johnieAge设设置为置为10。多行注释:多行注释包括一个开始注释标记多行注释:多行注释包括一个开始注释标记(/*)、注释内容和、注释内容和一个结束注释标记一个结束注释标记(*/)。无论注释跨越多少行,计算机都将忽。无论注释跨越多少行,计算机都将忽略开始标记与结束标记之间的所有内容。略开始标记与结束标记之间的所有内容。注释的另一种常见用法是临时禁用一行或多行代码。例如,如注释的另一种常见用法是临时禁用一行或多行代码。例如,如果用户要测试执行某操作的其它方法,或要查明为什么某些果用户要测试执行某操作的其它方法,或要查明为什么某些ActionScript代码没有按用户期望的方式工作。代码没有按用户期望的方式工作。Flashv实实例操作(建立一个例操作(建立一个对对象)象)vvar person:Object=new Object();vperson.sex=female;vperson.age=21;vperson.birthday=new Date(1970,0,1);vtrace(person.sex);Flashv简单简单运算运算vvar num1:int=2;vvar num2:int=3;vvar sum=num1+num2;vtrace(sum);FlashAction Script 3.0概述概述vActionScript 3.0与与2.0区别区别本书中主要讲解本书中主要讲解ActionScript 3.0,可能有部分同学已经有,可能有部分同学已经有2.0基础,同时网络上也有大量的基于基础,同时网络上也有大量的基于2.0的的Flash动画,应此有必动画,应此有必要在此将要在此将ActionScript 3.0和和2.0进行一番比较,以使大家对进行一番比较,以使大家对2.0亦有一些了解。亦有一些了解。1、类划分的更明确。在、类划分的更明确。在2.0时代,无论是加载外部图像、动画时代,无论是加载外部图像、动画和绘图,都可以使用和绘图,都可以使用MovieClip,然而引用的大量的,然而引用的大量的MovieClip,却只使用了其中部分功能,造成性能的浪费。而,却只使用了其中部分功能,造成性能的浪费。而在在3.0中,把这些功能分开,例如通过中,把这些功能分开,例如通过Loader对象来加载外部对象来加载外部的的jpg、gng或或SWF文件;通过文件;通过MovieClip对象的对象的graphfics属属性性moveTo方法来绘制图形。方法来绘制图形。2、统一事件。、统一事件。2.0中可以使用中可以使用on、addListener、addEventListener等写法来赋予对象各种事件,执行方法的等写法来赋予对象各种事件,执行方法的多样,很容易让人迷糊。多样,很容易让人迷糊。3.0则全部使用则全部使用addEventListener()()函数来侦听特地发送者发出的事件。函数来侦听特地发送者发出的事件。FlashAction Script 3.0概述概述vActionScript 3.0与与2.0区别区别3、内存工作方式更有效率。、内存工作方式更有效率。2.0的显示对象,例如的显示对象,例如MovieClip、Button、文字、色块、位图等等,一旦被实例化后,就会立、文字、色块、位图等等,一旦被实例化后,就会立即出现在即出现在Flash的舞台中。而的舞台中。而3.0的显示对象被实例化后,不会的显示对象被实例化后,不会马上出现,而是等到需要的时候,通过马上出现,而是等到需要的时候,通过addChild()或()或DisplayObjectContainer加入,这样可以减少内存资源的消加入,这样可以减少内存资源的消耗,使动画运行的更流畅。耗,使动画运行的更流畅。4、强制性声明变量。、强制性声明变量。2.0可以不使用关键词声明,直接使用变可以不使用关键词声明,直接使用变量,语法的规范性不强。而量,语法的规范性不强。而3.0一定要通过关键词一定要通过关键词var声明变量,声明变量,同时还引入了同时还引入了const来声明常量。常量一般用来存储某一固定来声明常量。常量一般用来存储某一固定值,例如圆周率值,例如圆周率3.14等。等。ActionScript 3.0与与2.0还有一些区别,例如还有一些区别,例如3.0对象属性统一对象属性统一取消下划线,代码只能写在时间轴上或外部定义的类取消下划线,代码只能写在时间轴上或外部定义的类.as文件,文件,这里就不再详述了,大家在以后的学习时深入体会吧。这里就不再详述了,大家在以后的学习时深入体会吧。Flash认识动作面板认识动作面板 v要点导读 在本节中,同学们将会学习如下的知识。在本节中,同学们将会学习如下的知识。1.如何调出如何调出“动作动作”面板(面板(F9以及相应的快捷以及相应的快捷键键)CTRL+ENTER,CTRL+Z,CTRL+L,shift,alt,Enter,ESC2.“动作动作”面板的使用面板的使用Flash认识动作面板认识动作面板 Flash认识动作面板认识动作面板 v左侧的上方是一个动作工具箱,单击前面的图标展开每左侧的上方是一个动作工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。素,双击选中的语句即可将其添加到编辑窗口。v左下方是一个脚本导航器。里面列出了左下方是一个脚本导航器。里面列出了FLA文件中具有文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在脚本窗某一项目,与该项目相关联的脚本则会出现在脚本窗口中,并且场景上的播放头也将移到时间轴上的对应口中,并且场景上的播放头也将移到时间轴上的对应位置上。双击脚本导航器中的某一项,则该脚本会被位置上。双击脚本导航器中的某一项,则该脚本会被固定。固定。v右侧部分是脚本编辑窗口,这是添加代码的区域。可以右侧部分是脚本编辑窗口,这是添加代码的区域。可以直接在脚本窗口中编辑动作、输入动作参数或删除动直接在脚本窗口中编辑动作、输入动作参数或删除动作。也可以双击动作工具箱中的某一项或脚本编辑窗作。也可以双击动作工具箱中的某一项或脚本编辑窗口上方的口上方的“添加脚本添加脚本”工具,向脚本窗口添加动作。工具,向脚本窗口添加动作。Flash认识动作面板认识动作面板 Flash给给Flash文件添加动作脚本文件添加动作脚本 v要点导读 在本节中,同学们将会学习如下的知识。在本节中,同学们将会学习如下的知识。1.在主场景关键帧中使用在主场景关键帧中使用ActionScript代码代码控制动画播放控制动画播放2.引用外部引用外部ActionScript文件文件Flash给给Flash文件添加动作脚本文件添加动作脚本 v在在ActionScript2.0时时代代,Flash中中添添加加动动作作脚脚本可以分为两种方式本可以分为两种方式一是为一是为“关键帧关键帧”添加动作脚本添加动作脚本二二是是向向关关键键帧帧中中的的“对对象象”添添加加动动作作脚脚本本,即即在在“按按钮钮”元元件件和和“影影片片剪剪辑辑”元元件件实实例例上上添添加加动动作作脚脚本,本,“图形图形”元件上是不能添加动作脚本的。元件上是不能添加动作脚本的。v在在3.0中中,动动作作脚脚本本只只能能放放在在时时间间轴轴的的关关键键帧帧或或外外部部的的as文文件件中中,这这里里的的时时间间轴轴可可以以是是场场景景的的时时间间轴轴,也也可可以以是是影影片片剪剪辑辑的的时时间间轴轴,然然而而不不能能像像在在2.0中中一一样样,直直接接给给对对象象(例例如如按按钮钮)添加动作脚本,这是需要注意的。添加动作脚本,这是需要注意的。Flash给给Flash文件添加动作脚本文件添加动作脚本 v在在ActionScript面面向向对对象象的的编编程程中中,任任何何类类(数数据据类类型型)都都可可以以包包含含3种种特特性性:属性,方法和事件。属性,方法和事件。一一、属属性性:表表示示某某个个对对象象的的特特性性,包包括括高高度度宽度,透明度等。宽度,透明度等。二二、方方法法:是是指指可可以以由由对对象象执执行行的的动动作作或或操操作作。包包括括play(),stop(),gotoAndStop()和和gotoAndPlay()。格格式式为为:对对象象名名(变变量)、句点、方法名和小括号量)、句点、方法名和小括号对象名对象名.方法名(参数);方法名(参数);三、事件:事件源、事件和响应。三、事件:事件源、事件和响应。Flash给给Flash文件添加动作脚本文件添加动作脚本 v方法:方法:v播放:播放:play,如:,如:this.Film.play();v停止:停止:stop,如:,如:this.Film.play();v停止全部声音:停止全部声音:vSoundMixer.stopAll();v跳转且播放跳转且播放:vgotoAndPlay();v如:如:vgotoAndPlay(55);v或或gotoAndPlay(“zzw”);v或或gotoAndPlay(1,场景场景 2);Flash给给Flash文件添加动作脚本文件添加动作脚本 v跳转且停止跳转且停止:vgotoAndStop();v如:如:vgotoAndStop(100);v或或gotoAndStop(“zzw”);v或或gotoAndStop(99,场景场景 3);Flash给给Flash文件添加动作脚本文件添加动作脚本 v写动作脚本时注意事项写动作脚本时注意事项:v1.脚本语言区分大小写。脚本语言区分大小写。v如:如:gotoAndPlay(55)不能写成不能写成gotoandplay(55)v2.AS3.0里里只只能能将将动动作作脚脚本本的的代代码码写写在在时时间间轴轴的的关关键键帧帧或或者者外外部部as中中,这这里里的的时时间间轴轴可可以以是是场场景景的的时时间间轴轴,也也可可以以是是影影片片剪剪辑辑的的时间轴时间轴。v3.AS里里的的小小括括号号()用用于于定定义义函函数数或或者者动动作作的的参参数数,不不用用参参数数的的动动作也不能省略作也不能省略(),如:如:stop()。v4.保保留留字字“this”代代指指主主场场景景的的时时间间轴轴,主主时时间间轴轴上上的的脚脚本本可可以以省略,但不建议省略。省略,但不建议省略。如如:this.Film.play()也可以写成也可以写成Film.play()v5.在在AS中中,任任何何一一条条语语句句都都以以英英文文状状态态下下的的分分号号“;”作作为为结结束束的的标标志志。虽虽然然有有时时省省略略了了“;”号号,Flash也也可可以以成成功功的的编编译译这这个脚本,但这是不规范的。个脚本,但这是不规范的。Flash给给Flash文件添加动作脚本文件添加动作脚本 三三、事事件件:事事件件是是确确定定计计算算机机执执行行哪哪些些指指令令以以及及何何时时执行的机制,它是交互性的基础。执行的机制,它是交互性的基础。事件源、事件和响应。事件源、事件和响应。v事事件件源源:即即事事件件目目标标,指指发发生生该该事事件件的的是是哪哪个个对对象象。例例如如:场场景景中中的的那那个个按按钮钮或或者者影影片片剪剪辑辑被被单单击击,鼠鼠标标经经过过和和离离开开等等等等。在在脚脚本中具体表现为定义一个本中具体表现为定义一个eventSource。v事事件件:指指将将要要发发生生什什么么事事情情。在在脚脚本本中中具具体体表表现现为为定定义义一一个个EventType和和EVENT_NAME。v响响应应:即即当当事事件件发发生生时时,用用户户希希望望执执行行哪哪些些步步骤骤。在在脚脚本本中中具具体体表现为表现为play,stop,gotoAndPlay等等。等等。Flash给给Flash文件添加动作脚本文件添加动作脚本 v用用function定义函数定义函数:vfunction 函数名函数名(参数列表参数列表):数据类型数据类型 v v/代码块代码块 v v其中:函数名用来说明函数的功能其中:函数名用来说明函数的功能 v函函数数根根据据需需要要可可以以向向函函数数中中传传递递外外部部的的变变量量即即参参数数,如如果果不不需需要要传传递递参参数数,则则不不需需要要加加入入参参数数,这这样样的的函函数数叫叫无无参参函函数数。如如果函数需要传递参数,这样的函数叫有参函数。果函数需要传递参数,这样的函数叫有参函数。v函函数数中中的的代代码码块块可可以以返返回回一一些些数数据据,数数据据可可以以是是简简单单数数据据类类型型,也也可可以以是是复复杂杂数数据据类类型型。数数据据类类型型表表示示函函数数返返回回的的数数据据类类型型,当当不需要返回数据时,数据类型应标识为不需要返回数据时,数据类型应标识为void,意思为没有返回值,意思为没有返回值Flash给给Flash文件添加动作脚本文件添加动作脚本 v 为为事事件件源源(一一般般为为按按钮钮或或者者影影片片剪剪辑辑)添添加加一一个个事事件件侦侦听器方法:听器方法:veventSource.addEventListener(EventType.EVENT_NAME,eventResponse);v定义当事件监听器被用户行为触发时,所调用的函数:定义当事件监听器被用户行为触发时,所调用的函数:vfunction eventResponse(eventObject:EventType):voidv/此处是为响应事件而执行的动作此处是为响应事件而执行的动作Flash给给Flash文件添加动作脚本文件添加动作脚本 v 以以5-1的脚本的脚本P127的脚本为例:的脚本为例:vplay1.addEventListener(MouseEvent.CLICK,onClick);v对象名对象名.方法名(参数);方法名(参数);v按按钮钮的的实实例例名名称称.增增加加事事件件侦侦听听器器(事事件件类类型型.事件名事件名,函数名函数名)Flash给给Flash文件添加动作脚本文件添加动作脚本 v function onClick(e:MouseEvent):voidv this.gotoAndPlay(2);vv定定义义一一个个函函数数.函函数数名名(参参数数e或或event:数数据据类型)类型):没有返回值没有返回值v对象名对象名.方法名(参数);方法名(参数);vFlash给给Flash文件添加动作脚本文件添加动作脚本 v在在Flash CS4中,用户可以向时间轴中的任何中,用户可以向时间轴中的任何关键帧添加关键帧添加ActionScript代码,该段代码将在代码,该段代码将在动画播放至该帧时执行。动画播放至该帧时执行。v这里的时间轴可以是主场景的时间轴,也可以这里的时间轴可以是主场景的时间轴,也可以是是MovieClip 元件的时间轴。元件的时间轴。v但是,这种灵活性的代价是在构建较大的应用但是,这种灵活性的代价是在构建较大的应用程序时,容易导致无法跟踪哪些帧包含哪些脚程序时,容易导致无法跟踪哪些帧包含哪些脚本,应用程序的维护性差。本,应用程序的维护性差。v解决的办法是将代码仅仅放在时间轴的第解决的办法是将代码仅仅放在时间轴的第1帧帧中,或放在中,或放在Flash文档中的特定图层上,这样文档中的特定图层上,这样可以较为容易地在可以较为容易地在Flash文件中查找和维护代文件中查找和维护代码。码。Flash给给Flash文件添加动作脚本文件添加动作脚本 v实例讲解:实例讲解:本节将学习在关键帧上添加本节将学习在关键帧上添加stop()、gotoAndplay()动作,来控制影片的播放。其中:动作,来控制影片的播放。其中:stop()的作用是的作用是停止动画播放;停止动画播放;gotoAndplay()的作用是通知播放的作用是通知播放头跳转到某一帧并在该帧停止,具体效果可以打开头跳转到某一帧并在该帧停止,具体效果可以打开资源光盘中的资源光盘中的“本书范例本书范例第第5章章完成文件完成文件5-15-1完完成成.fla”观看。观看。实例实例5-1是在关键帧中添加动作脚本是在关键帧中添加动作脚本stop()、gotoAndplay()以控制影片播放的。按常规,动画的播放是随着以控制影片播放的。按常规,动画的播放是随着时间轴上播放头的移动而顺序循环播放的,这个动时间轴上播放头的移动而顺序循环播放的,这个动画上面有一只向前走路的企鹅,在动画播放时,如画上面有一只向前走路的企鹅,在动画播放时,如果没有遇到停止的指令,就会不停的向前迈步。果没有遇到停止的指令,就会不停的向前迈步。Flash给给Flash文件添加动作脚本文件添加动作脚本 v实例讲解:实例讲解:打开源文件可以发现,这个动画中,在时间轴上的打开源文件可以发现,这个动画中,在时间轴上的第第1帧添加了帧添加了stop()动作,所以当动画在初始播放时动作,所以当动画在初始播放时会按照帧动作的指令自动停止下来。第会按照帧动作的指令自动停止下来。第16帧上添加帧上添加了了gotoAndplay(2)动作,当动画播放到第动作,当动画播放到第16帧时,帧时,即会按照该帧上的语句指令,跳转到第即会按照该帧上的语句指令,跳转到第2帧并开始重帧并开始重新播放。新播放。由于本案例在第一帧添加了由于本案例在第一帧添加了stop()命令,没有其他命令,没有其他控制的话,企鹅将无法走动,因此实例设置了控制的话,企鹅将无法走动,因此实例设置了play按钮。当用户单击该按钮时就可以使实例开始播放,按钮。当用户单击该按钮时就可以使实例开始播放,这就是动画中简单的交互。如何利用按钮来实现人这就是动画中简单的交互。如何利用按钮来实现人为地对动画进行播放控制,关于按钮的内容将在为地对动画进行播放控制,关于按钮的内容将在5.4节中学习,同学们也可以提前翻阅该节,学习如何节中学习,同学们也可以提前翻阅该节,学习如何制作按钮,进行按钮控制。制作按钮,进行按钮控制。Flash给给Flash文件添加动作脚本文件添加动作脚本 v步骤详解:步骤详解:步骤步骤1:打开资源光盘中的:打开资源光盘中的“本书范例本书范例第第5章章原始素材原始素材5-1原始原始.fla”,该文件导入了,该文件导入了“gif图片素材图片素材”文件夹中的图片进入舞台,文件夹中的图片进入舞台,Flash自动将自动将gif图片分解成独立图片至主场景的时图片分解成独立图片至主场景的时间轴。间轴。步骤步骤2:单击图层:单击图层1的第一帧,按的第一帧,按“F9”调出调出“动作动作-帧帧”面板,在脚本输入窗口输入面板,在脚本输入窗口输入stop();。Flash给给Flash文件添加动作脚本文件添加动作脚本 v步骤详解:步骤详解:步骤步骤3:参照步骤:参照步骤2,在图层,在图层1的第的第16帧,输帧,输入入“this.gotoAndPlay(2);”,实现企鹅走路,实现企鹅走路的循环播放。的循环播放。步骤步骤4:为实现:为实现play按钮,制作名为按钮,制作名为“play”的按钮元件。关于按钮的此操作将在的按钮元件。关于按钮的此操作将在5.4节详节详细讲述,这里不再赘述。细讲述,这里不再赘述。步骤步骤5:新建图层:新建图层2,在图层,在图层2的第一帧实例的第一帧实例化化“play”按钮,名为按钮,名为play1。Flash给给Flash文件添加动作脚本文件添加动作脚本 v步骤详解:步骤详解:步骤步骤6:在图层:在图层1的第一帧的的第一帧的“动作动作-帧帧”面板中,输入面板中,输入play1.addEventListener(MouseEvent.CLICK,onClick);/定义定义play1(即按钮)的侦听事件,侦听鼠标的(即按钮)的侦听事件,侦听鼠标的Click(单(单击)事件,一旦触发,执行击)事件,一旦触发,执行onClick函数函数function onClick(e:MouseEvent):void this.gotoAndPlay(2);/定义定义onClick函数,实现跳转到时间轴的第函数,实现跳转到时间轴的第2帧播放帧播放Flash给给Flash文件添加动作脚本文件添加动作脚本 v技术点睛:技术点睛:1、小括号、小括号“()”在在AS中,这个小括号中,这个小括号()的作用之一是用来在其中定的作用之一是用来在其中定义函数或者动作的参数,如本节实例中用到的义函数或者动作的参数,如本节实例中用到的gotoAndplay(2),也有不用参数的动作,如第一帧,也有不用参数的动作,如第一帧用到的用到的stop()。2、分号、分号“;”:在在AS中,分号中,分号;是用来作为语句结束的标记,在是用来作为语句结束的标记,在Flash命令脚本中,任何一条语句都是以命令脚本中,任何一条语句都是以;号结束的。号结束的。虽然有时省略了虽然有时省略了;号,号,Flash也可以成功的编译这个也可以成功的编译这个脚本,但这是不规范的。脚本,但这是不规范的。3、保留字、保留字“this”:主要代指主场景的时间轴,类似:主要代指主场景的时间轴,类似功能的保留字还有功能的保留字还有root。它在多对象或者路径嵌套。它在多对象或者路径嵌套控制时特别有用。控制时特别有用。Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”v要点导读在本节中,同学们将会学习如下的知识。在本节中,同学们将会学习如下的知识。1.建立影片剪辑建立影片剪辑2.应用影片剪辑的鼠标事件控制动画播放应用影片剪辑的鼠标事件控制动画播放Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”v案例解析打开资源光盘中的打开资源光盘中的“本书范例本书范例第第5章章完成文件完成文件5-35-3完成完成.fla”。实例。实例5-3主要练习的是为主要练习的是为“影片剪辑影片剪辑”添加鼠标事件,如图添加鼠标事件,如图5-7所示。所示。画面上,共有画面上,共有3只可爱的企鹅处于静止状态;当只可爱的企鹅处于静止状态;当 对对第一只企鹅进行单击时,该企鹅开始在不知疲倦的第一只企鹅进行单击时,该企鹅开始在不知疲倦的向前迈步;当将鼠标移动到第二只鼠标上,不进行向前迈步;当将鼠标移动到第二只鼠标上,不进行任何操作,该企鹅也开始动起来,同时,鼠标移动任何操作,该企鹅也开始动起来,同时,鼠标移动到别处时,企鹅也不停止;第三只企鹅与第二只企到别处时,企鹅也不停止;第三只企鹅与第二只企鹅不同的是,当鼠标离开企鹅时企鹅停止移动。鹅不同的是,当鼠标离开企鹅时企鹅停止移动。Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”v步骤详解:步骤详解:步骤步骤1:启动:启动Flash CS4,选择选择“创建新项目创建新项目”的的“Flash文件(文件(ActionScript 3.0)”选项,创建一个选项,创建一个新文档,命名为新文档,命名为“5-3”。步骤步骤2:执行:执行“插入插入”“新建元件新建元件”命令,新建一个名为命令,新建一个名为“Penguin”的影片剪辑元件。的影片剪辑元件。步骤步骤3:在:在“Penguin”影片剪辑的编辑窗口,将影片剪辑的编辑窗口,将“本本书范例书范例第第5章章原始素材原始素材gif图片素材图片素材企鹅走路企鹅走路.gif”导入到舞台。至此,导入到舞台。至此,“Penguin”影片剪辑元件制作影片剪辑元件制作完成。完成。步骤步骤4:回到主场景,在第一帧实例化:回到主场景,在第一帧实例化“Penguin”影影片剪辑片剪辑3次(即分别从库中拖动次(即分别从库中拖动“Penguin”到舞台到舞台3次),分别在属性面板命名为次),分别在属性面板命名为“Penguin1”、“Penguin2”、“Penguin3”,放到舞台合适位置,放到舞台合适位置 Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”v步骤详解:步骤详解:步骤步骤5:单击图层:单击图层1的第一帧,按的第一帧,按“F9”键打开动作面板,输入代码:键打开动作面板,输入代码:Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”v技术点睛:技术点睛:1、影片剪辑制作动画的优点:它将相同的操作和素、影片剪辑制作动画的优点:它将相同的操作和素材整合到一起,可以减少重复劳动,提高重用性,材整合到一起,可以减少重复劳动,提高重用性,运行过程中也减少了对内存的消耗;同时,它还可运行过程中也减少了对内存的消耗;同时,它还可以起到简化主场景时间轴的作用。以起到简化主场景时间轴的作用。2、注释:为语句添加注释也是增加代码可读性的一、注释:为语句添加注释也是增加代码可读性的一个好习惯,这样不仅有利于别人解读代码,也有利个好习惯,这样不仅有利于别人解读代码,也有利于自己对代码进行分析和记忆。注释的格式是用双于自己对代码进行分析和记忆。注释的格式是用双斜线斜线/开头,后面书写文字,可以放在语句的后面、开头,后面书写文字,可以放在语句的后面、上面或者下面。上面或者下面。Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”v技术点睛:技术点睛:3、语法着色:、语法着色:Flash AS的集成开发环境中具有语法着色的功的集成开发环境中具有语法着色的功能,即在程序中,能,即在程序中,Flash会将会将关键字关键字、标识符标识符、注释文本注释文本、字符串字符串用不同的颜色来分别显示。默认情况下,用不同的颜色来分别显示。默认情况下,关键字关键字显示显示为深蓝色,如为深蓝色,如play()等等,等等,标识符标识符显示为黑色,如显示为黑色,如Penguin1,、,、字符串字符串显示为天蓝色,显示为天蓝色,注释文本注释文本显示为灰色。显示为灰色。可以利用语法着色来阅读代码和发现错误。可以利用语法着色来阅读代码和发现错误。4、鼠标事件:、鼠标事件:可以通过探测用户鼠标的操作来控制对象的变可以通过探测用户鼠标的操作来控制对象的变化。本例中应用了化。本例中应用了Click事件、事件、MOUSE_OVER和和MOUSE_OUT事件来控制影片剪辑的播放与停止,除此之外事件来控制影片剪辑的播放与停止,除此之外还有很多,还有很多,可以通过动作面板的语法提示观察到对象所拥有可以通过动作面板的语法提示观察到对象所拥有的鼠标事件。预想了解所有的鼠标事件,可参考。的鼠标事件。预想了解所有的鼠标事件,可参考。Flash使用动作脚本控制使用动作脚本控制“影片剪辑影片剪辑”v技术点睛:技术点睛:5、函数:一般与鼠标事件联合在一起使用,、函数:一般与鼠标事件联合在一起使用,对象如何变化,需要通过函数里面的代码来对象如何变化,需要通过函数里面的代码来实现。函数的知识,在实现。函数的知识,在5.1节节AS语法规则里语法规则里面已经介绍了,此处就不再赘述。面已经介绍了,此处就不再赘述。Flash影片剪辑的属性调整与路径影片剪辑的属性调整与路径 v要点导读在本节中,同学们将会学习如下的知识。在本节中,同学们将会学习如下的知识。1.利用按钮改变影片剪辑的属性利用按钮改变影片剪辑的属性2.了解影片剪辑的路径了解影片剪辑的路径Flash影片剪辑的属性调整与路径影片剪辑的属性调整与路径 v案例解析属性概念是生活中随处可见的,各种物体都有自己属性概念是生活中随处可见的,各种物体都有自己的属性,比如食用水,它的自然属性是透明、无色、的属性,比如食用水,它的自然属性是透明、无色、无味的液体,这些属性通过一些加工手段是可以改无味的液体,这些属性通过一些加工手段是可以改变的,加入调色剂可以使它的透明度和色泽发生变变的,加入调色剂可以使它的透明度和色泽发生变化,加入调味剂可以改变它的味道,放入冰箱冷冻化,加入调味剂可以改变它的味道,放入冰箱冷冻可以让它凝固成冰块。可以让它凝固成冰块。在在Flash中,影片剪辑对象也有自身的许多属性,中,影片剪辑对象也有自身的许多属性,rotation(旋转)、(旋转)、x(轴)、(轴)、y(轴)、(轴)、visible(是否显示)、(是否显示)、height(高度)、(高度)、width(宽度)、(宽度)、scaleX(比例)和(比例)和alpha(透明度)等属性,运用(透明度)等属性,运用动作脚本语句可以对其属性进行修改调整。动作脚本语句可以对其属性进行修改调整。Flash影片剪辑的属性调整与路径影片剪辑的属性调整与路径 v属性解析属性解析与属性相关的一个重要概念就是路径,只有正确指与属性相关的一个重要概念就是路径,只有正确指定控制对象的路径,才能设置成功它们的属性。路定控制对象的路径,才能设置成功它们的属性。路径可以分为绝对路径和相对路径,它们之间的区别径可以分为绝对路径和相对路径,它们之间的区别是到达目标对象的出发点不同,绝对路径是以当前是到达目标对象的出发点不同,绝