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