您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 新编中文Flash-8实用教程第9章
第九章制作交互式动画第一节动作脚本概述第二节动作面板的基本操作第三节ActionScript常用术语第四节ActionScript的语法第五节数据类型第六节变量、表达式和运算符第七节事件第八节函数第九节动画的跳转第十节编写和调试动作脚本第十一节心星闪耀习题九在Flash8中,使用动作脚本可以创建交互式动画。在创建的动画中添加动作脚本可以使用户更方便、灵活地控制动画。一、初识动作脚本动作脚本也可以称为ActionScript,它是Flash自带的编程语言。动作脚本采用的是面向对象的编程思想,它是以关键帧、按钮和影片剪辑为对象,通过响应某些事件来定义和编写动作脚本的。第一节动作脚本概述动作脚本拥有自己的语法、变量、函数及表达式。与JavaScript相似,其结构也是由许多行的语句代码组成的。每一行中的语句由指令、操作符等组成。ActionScript是Flash的脚本描述语言,使用它可以在动画中响应事件,例如单击鼠标、移动鼠标和按下键盘上的某个键等,增加了动画的交互性。编写动作脚本比较方便,用户既可以直接从动作面板中调用某个动作,也可以直接输入代码,且对于输入的代码,系统会检查语法是否有问题,并可以提示用户对它进行修改。二、类ActionScript是一种面向对象的语言,在该种语言中,类是最重要的概念。类定义了可区分一系列对象的所有属性。例如,老师是一类人,那么可以创建一个Teacher类;设定植物是一个类,可以创建一个Plant类。类是一种类型,而不是具体的对象,比如说某某老师,他不是Teacher类,而是Teacher类的一个对象。类由两部分组成,一部分称为成员变量,另一部分称为成员函数,这是广义的面向对象中类的概念。在ActionScript中使用属性和方法来描述它们。用户在创建类的同时,也就定义了这个类创建的所有对象的属性和方法。例如定义一个老师类,那么该类对象可能会有职称、年龄等属性,有教学、科研等方法。关于如何定义自己的类,在后面的章节将会详细介绍。在Flash8中,用户可以在动作面板中编写和测试脚本语言。用户可以在标准模式和专家模式两种不同的编辑模式中创建和编辑对象或帧的动作。一、打开动作面板用户可以使用以下两种方法打开动作面板,具体操作步骤如下:(1)在菜单栏中选择“窗口”→“动作”命令,即可打开动作面板,如图9.2.1所示。第二节动作面板的基本操作(2)用鼠标右键在舞台中的按钮、影片剪辑实例或关键帧上单击,在弹出的快捷菜单中选择“动作”命令,也可打开动作面板。图9.2.1动作面板二、使用动作面板当用户将动作面板打开后,就可以在该面板中编写动作脚本。动作面板由两部分组成,左侧为动作工具箱,用户可在该工具箱的动作列表中选择相应的命令来创建动作。该列表中包括动作、运算符、函数、常量、属性、对象、FlashUI组件及动作脚本程序。右侧为脚本窗格,用户可在该区域中输入动作代码。在Flash8中,用户可以使用以下5种方法,为对象添加动作。(1)用鼠标双击动作列表中的某个动作。(2)单击选中某个动作,按住鼠标不放,将其拖到脚本窗格中。(3)用鼠标右键单击某个动作,在弹出的快捷菜单中选择“添加到脚本”命令。(4)单击动作面板上方的“将新项目添加到脚本中”按钮,从弹出的下拉菜单中选择要添加的动作。(5)直接在脚本窗格中输入动作。三、使用外部编辑器在Flash中,不仅可以直接在脚本窗格中输入代码,还可以将使用外部编辑器编辑的脚本添加到Flash中,具体操作步骤如下:(1)在记事本中新建一个文本文件,在该文本文件中输入如下代码:nextbtn.onRelease=function(){_root.mc.gotoAndplay(_currentframe+3)}(2)将该文本文件保存为扩展名为“.as”的文件。(3)在Flash中打开动作面板。单击该面板中的“选项”按钮,从弹出的下拉菜单中选择“导入脚本”命令,在弹出的“打开”对话框中选择刚才保存的.as文件。(4)单击“打开”按钮,即可将该文件中的脚本代码在动作面板的脚本窗格中打开。提示:(1)以“.as”为扩展名的脚本文件,实际上是一个标准的文本文件,只是在保存时,注意要将文件的扩展名设置成“.as”。(2)除了可以在动作面板中编写动作脚本之外,还可以使用外部编辑器来编写脚本。编辑完成后,再将它添加到Flash内部的脚本中。在使用脚本语言前,必须先了解该语言中常用的术语,才能为以后的学习打下基础,下面将介绍动作脚本中常用的一些术语的名称及其含义。1.动作动作是在动画的播放过程中指示动画执行某个操作的语句。例如getURL用于将动画片段链接到指定的网页或文件。2.类定义对象的数据类型。要定义类,必须在外部的脚本文件中使用class关键字,而不能在动作面板中编写。第三节ActionScript常用术语3.对象对象是属性和方法的集合。每个对象都有它的名字和值。内置对象是在动作脚本语言中预先定义的,例如,内置的Date对象可以提供系统时钟信息。4.属性定义对象的属性。例如,_visible是影片剪辑的一个属性,它可以定义该影片剪辑是否可见。5.实例实例是属于某个类的对象。类的每个实例都包含该类的所有属性和动作。例如,所有影片剪辑都是MovieClip符号的对象,都拥有MovieClip的属性(如_alpha)和动作(如gotoAndPlay)。6.实例名称实例名称是在脚本中指向影片剪辑实例或按钮实例的唯一名字。用户可以使用属性面板为舞台中的实例设置实例名称。例如:库中的主元件名为fly,而在SWF文件中,可以将该元件的两个实例命名为fly1和fly2。7.参数通过参数设置可以把值传递给函数或动作。例如,通过参数fullscreen和true,可以在执行fscommand动作时实现全屏效果。8.表达式表达式是代表值的动作脚本元件的任意组合,表达式通常由运算符和操作数组成。例如,在表达式y+2中,y和2是操作数,+是运算符。9.方法方法是与类关联的函数。一个函数被分配之后,就可以作为对象的方法被调用。例如,在下面的代码中,clear变成了controller对象的方法:functionReset(){this.x_pos=0;this.x_pos=0;}controller.clear=Reset;controller.clear();10.事件事件是动画播放时发生的动作,例如,加载影片剪辑、播放到某帧、用户单击按钮、移动鼠标或按下键盘中的键时,这些事件都可以触发不同的动作。11.事件处理函数事件处理函数是一种特殊的动作,它用于处理或管理诸如on,onClipEvent,mouseDown或load等事件。事件处理函数共有两类:事件处理函数方法和事件侦听器。在动作工具箱中,每个具有事件处理函数方法或事件侦听器的动作脚本对象都有一个名为Events或Listeners的子类别,且有些命令既可以用于事件处理函数,也可以用于事件侦听器。12.函数函数是可以传送参数并能返回值的可重复使用的代码块。例如,getProperty函数可以传送动画片段名和属性,并返回这些属性的值。13.构造函数构造函数是用于初始化(定义)类的属性和方法的函数。根据定义,构造函数是类定义中与类同名的函数。例如,以下代码定义了一个Person类并实现一个构造函数。在面向对象编程中,构造函数初始化类的每个新实例。类的构造函数是一个特殊的函数,使用new运算符创建类的实例时将自动调用该函数。构造函数的名称与包含它的类的名称相同,例如,创建的Person类包含下面的构造函数://Person类构造函数publicfunctionPerson(uname:String,age:Number){this.__name=uname;this.__age=age;}14.数据类型数据类型描述变量或ActionScript元素可以包含的值的种类,及可以对其执行的各种操作。在创建变量、对象实例和定义函数时,使用数据类型来指定要使用的数据的类型。在编写ActionScript时可以使用多种不同的数据类型,包括字符串、数字、布尔值、对象、影片剪辑、函数、空值和未定义。15.常数常数是一个用于表示其值永远不会改变的属性的变量,例如,常数Key.ENTER代表键盘上的ENTER键,常数主要用于数值的比较。16.关键字关键字是有特定意义的保留字。关键字不能用做标识符(例如变量、函数或标签名称),也不能在FLA文件中的其他位置将它们用做其他目的(例如实例名称)。17.运算符运算符是指定如何组合、比较或更改表达式中的值的字符。使用它,可以从一个或多个值中计算出一个新的值,如下面的语句即为使用“=”运算符为变量赋值。varusername:String=Gus;18.标识符标识符是用来标明变量、属性、对象、函数或方法的名称。标识符的第一个字符必须是字母、下画线或$符号,其后的字符必须是字母、数字、下画线或$符号。例如,box就是一个变量的名称。19.变量变量是存储任一数据类型值的标识符。变量可以被创建、更改或更新,且其值可以被多次更改。例如在下面的示例中,“=”左边的标识符即为变量。y=1;x=x+1;name=“Gus”;c_color=newColor(mcinstanceName);20.布尔值布尔值用来判断是否满足某个条件,其结果只能是真或假。与其他的编程语言一样,ActionScript也有自己的语法规则,用户在创建动作脚本时,必须遵守这些语法规则,才能创建出正确的脚本。一、点在ActionScript中,使用点语法可指示与对象或影片剪辑相关的属性或方法,还可以用它来确定影片剪辑、变量、函数或对象的目标路径。点语法表达式以对象或影片剪辑的名称开头,后面跟着一个点,以要指定的元素结尾。第四节ActionScript的语法例如,_x影片剪辑属性指示影片剪辑在舞台上的x轴位置,表达式boxMC._x引用影片剪辑实例boxMC的_x属性,boxMC._play()引用影片剪辑实例的play()方法。点语法有两个特殊的别名:_root和_parent。别名_root指的是主时间轴,可以使用_root别名创建一个绝对目标路径。别名_parent用于引用当前对象嵌入到的影片剪辑,也可以使用它创建相对目标路径。二、斜杠语法斜杠语法在Flash3和Flash4中表示影片剪辑或变量的目标路径。此语法受FlashPlayer6和更低版本中的ActionScript1.0支持,但它不受ActionScript2.0和FlashPlayer7/FlashPlayer8的支持。三、大括号、小括号与分号使用大括号可以将ActionScript事件、类定义和函数组合成块;使用小括号可以设置函数的参数;使用分号可以结束语句的输入。1.大括号如果用户要创建事件、类定义和函数的组合块,可以使用大括号。如下所示的示例将使用大括号在对象内创建和定义属性,在该例中,属性在对象中是通过在大括号{}中指定变量名来定义的。varmyObject:Object={id:“cst94121”,firstName:“John”,middleName:“H.”,lastName:“Doe”};vari:String;for(iinmyObject){trace(i+“:”+myObject[i]);}/*id:cst94121名:John中间名:H.姓:Doe*/2.小括号在ActionScript中定义函数时,可以将参数放在小括号里,如下代码所示:functionmyFunction(myName:String,myAge:Number,happy:Boolean):Void{}如果要调用函数,必须要将传递给该函数的所有参数都包含在小括号中,如下所示:myFunction(“Carl”,78,true);使用小括号可以覆盖ActionScript的优先顺序或增强ActionScript语句的可读性,因此可通过在某些值两边加小括号来改变计算值的顺序,如下所示:varco
本文标题:新编中文Flash-8实用教程第9章
链接地址:https://www.777doc.com/doc-5474631 .html