《最新ActionScript编程基础 -Flash(共176张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新ActionScript编程基础 -Flash(共176张PPT课件).pptx(176页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第九章ActionScript编程基础(jch) ActionScript介绍 ActionScript的术语 ActionScript的语法 数据类型 变量变量 函数与运算符函数与运算符 事件事件(shjin)与动作与动作 条件循环控制条件循环控制 第一页,共一百七十六页。第9章 ActionScript编程基础 制作交互动画 应用举例魔力彩色(cis)球 本章小结 习题九第二页,共一百七十六页。第9章 ActionScript编程基础 ActionScript的中文译名为“动作脚本”,它是Flash专用的一种编程语言,与JavaScript有着相似的结构,都是采用面向对象的编程思想编写的。
2、使用ActionScript,用户可以控制动画的播放和停止、指定对鼠标动作的响应、实现网页的链接、制作精彩的游戏(yux)以及创建网页等,大大增强了Flash动画的交互性。在Flash 8中,添加ActionScript的操作步骤如下:(1)选中要添加ActionScript的按钮、帧或者影片剪辑。(2)选择“窗口”“动作”命令,打开动作面板,如图9.1.1所示。第一节 ActionScript介绍(jisho)第三页,共一百七十六页。第9章 ActionScript编程基础 图9.1.1 动作(dngzu)面板动作列表程序(chngx)区第四页,共一百七十六页。第9章 ActionScrip
3、t编程基础 (3)在动作列表中找到所需的Action(动作),双击鼠标左键,将其添加到程序区中(见图9.1.2),然后进行相关的设置即可。注意:在编写过程中,对于(duy)所添加的ActionScript,系统会检查其语法是否正确,并提示用户如何修改。图9.1.2 添加动作第五页,共一百七十六页。第9章 ActionScript编程基础 ActionScript和其他脚本语言一样,也要根据特定的语法规则,使用专门的术语。下面将列出一些重要的ActionScript术语,并做简要的介绍。(1)Action(动作):动作是在播放动画时指示动画文件执行某些任务的语句。例如,Stop动作用于停止动画的
4、播放。(2)Events(事件):事件指正在播放动画时发生(fshng)的动作。例如,鼠标的经过、单击与离开,键盘上某键的敲击等都可作为事件。第二节 ActionScript的术语(shy)第六页,共一百七十六页。第9章 ActionScript编程基础 (3)Objects(对象):对象是属性和方法的集合,它允许用户访问某种类型的信息。例如(lr),用户通过Date()对象可以访问来自系统时钟的信息。(4)Variables(变量):变量是一种可以保留任何数据类型值的标识符。它可以被创建、改变或者更新。例如(lr),在以下代码中等号左边的标识符就是变量。a=50;width=25;herna
5、me= csquare;第七页,共一百七十六页。第9章 ActionScript编程基础 (5)Properties(属性):属性是对象的某种性质,例如,_visible是所有影片(yngpin)剪辑的一个属性,用于定义其是显示还是隐藏。(6)Arguments(参数):参数可以把值传递给函数。例如,在以下代码中参数firstName和hobby把值传递给了welcome()函数。function welcome(firstName, hobby) welcomeText = “Hello, ” + firstName + “I see you enjoy ” + hobby;第八页,共一百七
6、十六页。第9章 ActionScript编程基础 (7)Classes(类):类是一种数据类型,用于定义新的对象,可以通过定义一个构造函数来定义类。(8)Constants(常量):常量是不可改变的元素。例如,常量Key.TAB总是用来(yn li)代表键盘上的Tab键。(9)Constructors(结构体):结构体是用于定义类的函数。例如,在以下代码中通过创建函数Circle()来定义一个新的圆类。function Circle(x, y, radius)this.x = x;this.y = y;this.radius = radius;第九页,共一百七十六页。第9章 ActionScr
7、ipt编程基础 (10)Datatypes(数据类型):数据类型用于描述变量或动作脚本元素可以包含信息的种类,例如,动作脚本数据类型包含字符串、数字、布尔值、对象、影片剪辑、函数、空值和未定义。(11)Expressions(表达式):表达式是语句中能够产生一个值的任意部分。例如,2+2就是一个表达式。(12)Functions(函数):函数是可以传送参数并能返回值的可重用代码块。例如函数getVersion()可以返回当前正在播放动画的Flash播放器的版本。(13)Handlers(事件(shjin)处理函数):事件(shjin)处理函数是用于管理诸如mouseDown或load等事件(s
8、hjin)的特殊函数。第十页,共一百七十六页。第9章 ActionScript编程基础 (14)Identifiers(标识符):标识符是用于识别某个变量、特性、对象、函数或方法的名称。它的第一个字符必须是字母(zm)、下画线或货币符号,其后的字符必须是字母(zm)、下画线、货币符号或数字。例如,firstQuestion是一个合法的标识符,而10 xyz不是合法的标识符。(15)Instances(实例):实例是属于某个类的对象。一个类可以产生若干个类的实例,且每个实例都将包含该类的所有特性和方法。例如,所有的影片剪辑都是MovieClip类的实例,因此可以将MovieClip类的方法或属性
9、用于任何影片剪辑实例。第十一页,共一百七十六页。第9章 ActionScript编程基础 (16)Instancenames(实例名称):实例名称是脚本中用来表示影片剪辑实例或按钮实例的唯一名称。例如,在以下代码中实例名称为csquare的影片剪辑实例复制(fzh)了8次。do duplicateMovieClip(“csquare”,“csquare”+i,i)i=i+1;while(i=8);(17)Keywords(关键字):关键字是具有特定意义的保留字。例如,var是一个用来声明本地变量的关键字。第十二页,共一百七十六页。第9章 ActionScript编程基础 (18)Methods
10、(方法):方法是分配给一个对象的函数。一个函数被分配之后(zhhu),它可作为对象的方法被调用。例如,在以下代码中clear变成了controller对象的方法。function Reset()x_pos = 0;x_pos = 0;controller.clear = Reset;controller.clear();(19)Operators(运算符):运算符是通过一个或多个值计算新值的符号。例如,加法运算符用于把两个或多个值加到一起,产生一个新值。第十三页,共一百七十六页。第9章 ActionScript编程基础 (20)Target paths(目标路径):目标路径是变量、对象和影片剪
11、辑实例的名称所组成的表达(biod)结构。使用目标路径可以获取某个变量的值。例如,以下代码就是指向影片剪辑stereoControl中的volume变量的目标路径。_root.stereoControl.volume第十四页,共一百七十六页。第9章 ActionScript编程基础 下面列出ActionScript的一些通用语法规则,用户必须遵守这些语法规则才能创建可正确编译和运行的脚本。(1)区分大小写。在Flash 8中,所有的关键字、类名、变量、方法名、外部脚本等均区分大小写。例如,book和Book将被视为不同内容。(2)点语法。在ActionScript中,点“.”被用于指明(zhm
12、ng)某个对象或影片剪辑的属性和方法,也可用于标识影片剪辑或变量的目标路径。点语法表达式以跟有一个点的对象或影片剪辑的名称开始,以要指定的属性、方法或者变量作为结束。例如,在以下代码中_width指明(zhmng)cs影片剪辑的宽度。cs._width;第三节 ActionScript的语法(yf)第十五页,共一百七十六页。第9章 ActionScript编程基础 (3)大扩号。ActionScript使用大括号“”划分语句块,例如:onClipEvent(load) top=_y; left=_x; right=_x; bottom=_y+100;(4)分号。ActionScript语句使用
13、分号“;”作为结束,如果(rgu)将分号省略,Flash仍然能够成功地编译脚本,例如:Mouse.hide()startDrag(cs, true)第十六页,共一百七十六页。第9章 ActionScript编程基础 (5)小括号。当用户定义一个函数时,要把参数放置在小括号“( )”内,例如:myFunction(“csquare”,20,true);另外,可以使用小括号来改变ActionScript的优先级。(6)注释(zhsh)。通过在脚本中添加注释(zhsh),将有助于理解用户关注的内容,以及向其他开发人员提供信息。要指示某一行或一行的某一部分是注释(zhsh),应在该注释(zhsh)前加
14、两个斜杠(/),例如:function Line(x1,y1,x2,y2)/定义Line函数第十七页,共一百七十六页。第9章 ActionScript编程基础 注意:注释在程序区中以暗色(n s)显示,如图9.3.1所示。图9.3.1 注释在程序区中以暗色显示第十八页,共一百七十六页。第9章 ActionScript编程基础 (7)关键字。ActionScript保留了一些标识符作为内置对象、函数等的标识。这些标识符就是关键字,用户在编程过程中,不能用这些关键字作为变量(binling)、函数或标签的标识。第十九页,共一百七十六页。第9章 ActionScript编程基础 在Flash 8中,
15、内置了基本数据类型和引用数据类型两种数据类型。其中,基本数据类型是指字符串、数字、布尔数等,它们都有一个不变的值,可以保存它们所表示元素的实际值;引用数据类型是指影片剪辑或对象(duxing)等,它们的值可以改变,所以它们所包含的是对元素实际值的引用。下面对ActionScript中的各种数据类型进行介绍。(1)MovieClip(影片剪辑):影片剪辑是Flash应用程序中可以播放动画的元件,它们是唯一一种可以引用图形元素的数据类型。第四节 数据类型第二十页,共一百七十六页。第9章 ActionScript编程基础 (2)Objcet(对象):对象是属性的集合,每个属性都有相应的名字和值,属性
16、值可以是任何一种数据类型,甚至可以是对象数据类型,从而使对象相互(xingh)包含即所谓的嵌套。可以使用内置动作脚本对象来访问和处理特定种类信息。例如,可以通过Math对象的方法来对传递给它的数字进行数学运算。例如,下面的语句使用Math对象的Sqrt方法对数字100进行求平方根运算,并将运算的结果赋给变量squareRoot:squareRoot=Math.sqrt(100);另外,动作脚本的电影片段对象具有可以控制舞台上的电影片段实例的方法,下面语句使用了play和nextFrame方法:第二十一页,共一百七十六页。第9章 ActionScript编程基础 mcInstanceName.p
17、lay();mc2InstanceName.nextFrame();(3)Boolean(布尔值):在动作脚本(jiobn)中布尔值经常和逻辑运算符或比较运算符一起使用,用于进行比较和控制一个程序脚本(jiobn)的流程。布尔值有且仅有true和false两种,在需要时,ActionScript也可以将true和false转化成1和0。例如,在下面的例子中,如果变量Name和变量Password的值都为true,则电影片段就开始播放: onClipEvent(enterFrame) if (Name=true)&(password=true) play()第二十二页,共一百七十六页。第9章 A
18、ctionScript编程基础 (4)Number(数字):数据类型中的数字是一个双精度的浮点型数字。可以使用(shyng)算术运算符来处理数字,也可使用(shyng)内置的Math和Number类的方法来处理数字。(5)String(字符串):字符串是由字母、数字、标点等组成的字符序列,应用字符串时要将其放在单引号或双引号中。例如,下面语句中的“chen”就是一个字符串:firstname=“chen”;可以使用(shyng)“+”运算符连接两个字符串,此时,动作脚本会精确地保留在字符串两端出现的空格。例如,下面的语句执行后,“introduce”就是“Im chen”。firstname=
19、“chen”;introduce=Im+firstname;第二十三页,共一百七十六页。第9章 ActionScript编程基础 由于字符串以引号作为开始和结束的标记,所以要想在一个字符串中包括一个单引号或双引号,需要在其前面(qin mian)加上一个反斜杠“”,这就是所谓的将字符转义。在动作脚本中还有其他的一些字符可以被转义,如表9.1所示。第二十四页,共一百七十六页。第9章 ActionScript编程基础 表9.1 转义字符转义字符转义结果bBackspacef走纸换页n换行符r回车符t制表符(Tab)双引号单引号反斜线符号000377一个八进制字符,占一个字节x00 xFF一个十六进
20、制字符,占一个字节u0000uFFFF一个十六进制的16位Unicode字符,占两个字节第二十五页,共一百七十六页。第9章 ActionScript编程基础 (6)Null(空值):Null表示空值,可以在以下4种情况下使用: 1)变量尚未接收到值。 2)变量不再包含值。 3)作为函数的返回值时,函数没有可以返回的值。 4)作为函数的参数时,省略了一个(y )参数。(7)Undefined(未定义):Undefined表示未定义的数据类型的值,用于尚未分配值的变量。第二十六页,共一百七十六页。第9章 ActionScript编程基础 变量是存储信息的容器,容器本身总是不变的,但内容可以改变。当
21、播放动画时,通过变量可以记录和保存用户操作的信息,记录动画播放时改变了的值,或者(huzh)判断某些条件是真还是假。当首次定义一个变量时,最好为该变量指定一个已知值,即对变量进行初始化操作,从而使用户能够更容易地跟踪和比较变量的值。第五节 变 量第二十七页,共一百七十六页。第9章 ActionScript编程基础 ActionScript中的变量可以保存所有类型的数据,包括String,Number,Boolean,Object以及MovieClip等,当某个变量在一个脚本中被赋值时,变量包含(bohn)的数据类型将影响变量值的改变。一、变量的命名规则为变量命名必须遵守以下规则:(1)变量名必
22、须是一个标识符。(2)变量名不能是一个关键字或布尔值(true或false)。(3)变量名在它的作用范围内必须是唯一的。二、变量的输入在ActionScript中,不需要明确地定义一个变量要保存为何种数据类型。当变量被赋值时,Flash会自动确定这个变量的第二十八页,共一百七十六页。第9章 ActionScript编程基础 数据类型。例如: x=7;y=“name”;在表达式“x=7”中,Flash 8会计算操作符右边的元素,并且确定x是一个数值型变量。在表达式“y=”name“”中,系统会把y的类型改为字符串型。当表达式需要时,ActionScript还会自动变换(binhun)变量的类型,
23、例如,当把一个值传递给trace动作时,trace动作会自动将接收到的值转换成字符串。可以使用这个动作来调试脚本、跟踪变量的值以及跟踪脚本的分支流向。第二十九页,共一百七十六页。第9章 ActionScript编程基础 在含有操作符的表达式中,ActionScript会根据需要变换数据类型,例如,当“+”操作符被用于一个字符串中时,ActionScript会自动将另一个数据的类型转换为字符串(如果它不是(b shi)字符串),例如:“Next in line,number”+7ActionScript会自动将数字7转换成字符串“7”,并将其加载到第一个字符串的后面形成一个更长的字符串:“Nex
24、t in line,number7”。第三十页,共一百七十六页。第9章 ActionScript编程基础 三、变量(binling)的作用范围变量的作用范围是指能够识别和引用该变量的区域。在ActionScript中,变量可以是全局变量和局部变量。全局变量可以在所有的时间轴中共享,而局部变量仅在它所在的代码块中有效。用户可以在脚本中用var语句声明一个局部变量,例如,在以下代码中,i被用做局部变量。Function makeDays()var ifor(i =0; i monthArraymonth;i+)第三十一页,共一百七十六页。第9章 ActionScript编程基础 _root.Day
25、s.attachMovie(“DayDisplay”,i,i+2000);_root.Daysi.num=i+1;_root.Daysi._x=column*_root.Daysi._width;_root.Daysi._y=row*_root.Daysi._height;column=column+1;if(column=7)column=0;row=row+1;第三十二页,共一百七十六页。第9章 ActionScript编程基础 使用局部变量可以有效地防止名称的冲突,所以被大量地使用。但在有些情况下必须使用全局变量,例如,要在一个代码块中引用另一个代码块中的变量,或者(huzh)要在整个动
26、画中传递某个变量的值,在这些情况下,全局变量将会发挥巨大的作用。四、变量声明在Flash 8中,可以用set variables语句或赋值操作符(=)来声明全局变量,用var语句声明局部变量。其中,局部变量的作用范围限定在声明它的代码块中,并在代码块结束时失效。第三十三页,共一百七十六页。第9章 ActionScript编程基础 五、在脚本中使用变量要将变量在脚本中使用,首先必须在脚本中声明这个变量,如果使用了未做声明的变量,则将会得到一个错误值。另外,还可以在一个脚本中多次改变一个变量的值。变量包含的数据类型将对变量的改变方式产生影响。原始的数据类型,如字符串和数字等,将以值进行传递,也就是
27、说变量的实际(shj)内容将被传递给变量。例如:在下面的程序中,x的值被设置为9,然后这个值被赋给y,随后x的值被重新改变为90,但此时y仍然是9,因为y并不跟踪x的值,它在此只是存储x曾经传递给它的值。第三十四页,共一百七十六页。第9章 ActionScript编程基础 var x=9;var y=x;var x=90;又例如(lr),变量ting包含一个基本数据类型的数字6,这个实际的值数字6被传递给了函数sqr,返回值为36。Function sqr (x) return x*x;var ting=6;var out=sqr (ting);其中变量ting中的值仍然是6,并没有改变。第三
28、十五页,共一百七十六页。第9章 ActionScript编程基础 如果引用除电影片段以外(ywi)的某个对象,则一旦被引用就不能再被删除,这种引用称为Hard Reference(硬引用);而对一个电影片段的引用则被称为Soft Reference(软引用),因为软引用不能强令被引用的对象存在。第三十六页,共一百七十六页。第9章 ActionScript编程基础 在Flash 8中,函数指由一个变量按照一定的规则决定另一个变量的对应关系,运算符指对常量与变量进行运算的符号,表达式指用运算符将常量、变量和函数以一定的规则组织在一起的句子,下面分别对它们进行介绍。一、函数Flash 8提供了5种类
29、型的函数,分别为通用函数、数值类函数、属性类函数、字符串类函数和多字节字符函数。1通用函数通用函数包括eval,getTimer,false和true 4种,它们的功能(gngnng)如下:第六节 函数(hnsh)与运算符第三十七页,共一百七十六页。第9章 ActionScript编程基础 (1)eval:获取某一变量的值,或者返回某一对象。(2)getTimer:获取计算机的系统时间。(3)false:获取布尔非值(0)。(4)true:获取布尔真值(1)。2数值类函数数值类函数包括int和random两种,它们的功能如下:(1)int:把十进制数值强制转换成整数,即取整。(2)random
30、:产生(chnshng)0到用户指定数值间的随机数。第三十八页,共一百七十六页。第9章 ActionScript编程基础 3属性类函数属性类函数包括(boku)_alpha,_height,_name,_rotation,_visible,_width,_x,_y,_xscale,_yscale,_url和_current 12种,它们的功能如下:(1)_alpha:对象的透明度。(2)_height:对象的高度。(3)_name:对象实例的名称。(4)_rotation:对象的旋转角度。(5)_visible:显示或隐藏对象。(6)_width:对象的宽度。(7)_x:对象的x轴坐标。(8)
31、_y:对象的y轴坐标。第三十九页,共一百七十六页。第9章 ActionScript编程基础 (9)_xscale:以百分比来缩放对象的宽度(kund)。 (10)_yscale:以百分比来缩放对象的高度。(11)_url:对象的链接地址。(12)_current:获取当前帧的位置。4字符串类函数字符串类函数包括substring,length,ord和chr 4种,它们的功能如下:(1)substring:截取字符串的子串。(2)length:返回字符串的长度。(3)ord:将字符转换成ASCII码。(4)chr:将ASCII码转换成相应的字符。第四十页,共一百七十六页。第9章 ActionS
32、cript编程基础 5多字节字符函数多字节字符函数包括mbsubstring,mblength,mbchr和mbord 4种,它们的功能(gngnng)如下:(1)mbsubstring:截取多字节字符串中的字串。(2)mblength:返回多字节字符串的长度。(3)mbchr:将操作数转换成相应的ASCII码多字节字符。(4)mbord:将多字节字符转换成相应的ASCII码数值。第四十一页,共一百七十六页。第9章 ActionScript编程基础 二、运算符Flash 8提供了算术运算符、比较运算符、逻辑运算符、位运算符、等于和赋值运算符等多种运算符,下面分别进行介绍(jisho)。1算术运
33、算符算术运算符包括加、减、乘、除和其他算术运算符,ActionScript中的算术运算符如表9.2所示。第四十二页,共一百七十六页。第9章 ActionScript编程基础 算术运算符执行的运算+递增1-递减1*乘/除%求余数+自加-自减表9.2 算术(sunsh)运算符第四十三页,共一百七十六页。第9章 ActionScript编程基础 2比较运算符比较运算符用于比较表达式的值并返回(fnhu)一个布尔值,ActionScript中的比较运算符如表9.3所示。表9.3 比较(bjio)运算符比较运算符执行的运算大于=大于或等于第四十四页,共一百七十六页。第9章 ActionScript编程基
34、础 3逻辑运算符逻辑运算符用于比较两个布尔值(true或false)并返回(fnhu)第3个布尔值,例如在逻辑与操作中,如果两个操作数都是true,则返回(fnhu)结果为true;如果执行的两个操作数中有一个或两个是false,则返回(fnhu)的结果为false。ActionScript中的逻辑运算符如表9.4所示。表9.4 逻辑(lu j)运算符逻辑运算符执行的运算&逻辑与|逻辑或!逻辑非第四十五页,共一百七十六页。第9章 ActionScript编程基础 4位运算符ActionScript中的位运算符如表9.5所示。表9.5 位运算符位运算符执行的运算&按位与|按位或按位异或按位非,即
35、求补码按位右移无符号按位右移,即左边空位用0填补第四十六页,共一百七十六页。第9章 ActionScript编程基础 5等于(dngy)和赋值运算符ActionScript中的等于和赋值运算符如表9.6所示。表9.6 等于(dngy)和赋值运算符等于和赋值运算符执行的运算等于和赋值运算符执行的运算=等于/=相除并赋值!=不等于=按位右移并赋值+=相加并赋值=无符号按位右移并赋值-=相减并赋值=按位异或并赋值*=相乘并赋值|=按位或并赋值%=求余并赋值&=按位与并赋值第四十七页,共一百七十六页。第9章 ActionScript编程基础 当两个或两个以上的运算符在同一个表达式中被使用时,一些运算符
36、与其他运算符相比有更高的优先级。例如,在以下的代码中,括号里面的内容先执行,结果是8。 x=(24-20)*2;而在以下的代码中,先执行乘法运算,结果是2。 x=8-2*3;如果两个或两个以上的运算符拥有同样的优先级时,此时决定它们执行顺序(shnx)的就是运算符的结合性了,结合性可以是从左到右,也可以是从右到左。例如,下面的两个语句是等价的:第四十八页,共一百七十六页。第9章 ActionScript编程基础 x=8*3*5; x=(8*3)*5;下面按优先级从高到低的排列(pili),列出了所有运算符及其结合律,如表9.7所示。运算符说 明结合律+递增1从右到左-递减1从右到左按位“非”从
37、右到左!逻辑“非”从右到左not逻辑“非”(Flash 4 样式)从右到左+后递增从左到右-后递减从左到右表9.7 运算符优先级第四十九页,共一百七十六页。第9章 ActionScript编程基础 ( )函数调用从左到右 数组元素从左到右.结构成员从左到右+前递增从右到左-前递减从右到左new分配对象从右到左delete取消分配对象从右到左typeof对象类型从右到左void返回未定义值从右到左*乘号从左到右/除号从左到右%求余数从左到右+加号从左到右add字符串连接(原为 &)从左到右-减号从左到右续表1第五十页,共一百七十六页。第9章 ActionScript编程基础 续表2按位右移位从左
38、到右按位右移位(无符号)从左到右小于从左到右大于从左到右=大于或等于从左到右instanceof是否为其实例从左到右lt小于(字符串版本)从左到右le小于或等于(字符串版本)从左到右gt大于(字符串版本)从左到右ge大于或等于(字符串版本)从左到右=等于从左到右!=不等于从左到右eq等于(字符串版本)从左到右第五十一页,共一百七十六页。第9章 ActionScript编程基础 ne不等于(字符串版本)从左到右&按位“与”从左到右按位“异或”从左到右|按位“或”从左到右&逻辑“与”从左到右and逻辑“与”(Flash 4)从左到右or逻辑“或”从左到右|逻辑“或”(Flash 4)从左到右?:条
39、件从右到左=赋值从右到左*=, /=, %=, +=, -=, &=, |=, =, =, =复合赋值从右到左,逗号从左到右续表3第五十二页,共一百七十六页。第9章 ActionScript编程基础 在Flash 8中,无论多么复杂的交互过程,都可以分解为两个部分,即导致行为发生的原因和行为发生的内容。而行为发生的原因就是事件,行为发生的内容就是动作。一、事件在Flash 8中,用户可以通过(tnggu)两种方式来触发事件:一种是基于动作的,如单击鼠标或按下键盘,即通常所说的“用户触发事件”;另一种是基于时间的,当动画播放到某一时刻时,事件就会被触发,即通常所说的“帧事件”。第七节 事件(sh
40、jin)与动作第五十三页,共一百七十六页。第9章 ActionScript编程基础 1用户触发事件用户触发事件的特点是对单击鼠标或者按键等动作做出响应,下面简单介绍一些用户触发事件。(1)press:当将鼠标指针(zhzhn)移到按钮上时,单击鼠标左键发生动作。(2)release:当将鼠标指针(zhzhn)移到按钮上时,单击并释放鼠标左键发生动作。(3)rollOut:当将鼠标指针(zhzhn)从按钮上移过时发生动作。(4)rollOver:当将鼠标指针(zhzhn)放置在按钮上时发生动作。(5)releaseOutside:当将鼠标指针(zhzhn)在按钮上按下鼠标左键,然后移至按钮外释放
41、时发生动作。第五十四页,共一百七十六页。第9章 ActionScript编程基础 (6)dragOut:当将鼠标指针(zhzhn)在按钮上按下鼠标左键,然后移至按钮外时发生动作。(7)dragOver:当将鼠标指针(zhzhn)在按钮上按下鼠标左键,然后移至按钮外后,又移至按钮上时发生动作。(8)keyPress:当按下指定键时发生动作。(9)mouseMove:当移动鼠标时发生动作。(10)mouseDown:当单击鼠标左键时发生动作。(11)mouseUp:当释放鼠标左键时发生动作。(12)keyUp:当释放某键时发生动作。(13)keyDown:当按下某键时发生动作。第五十五页,共一百七
42、十六页。第9章 ActionScript编程基础 2帧事件定义帧事件是指为某个帧指定一个动作,当动画播放到该帧时,将会响应事件,并执行指定的动作。例如,如果用户需要控制一个包含两个场景的动画,当播放到“场景1”的第4帧时,开始播放“场景2”,然后(rnhu)在“场景2”播放结束后继续从“场景1”的第5帧开始播放,直至“场景1”播放完毕后结束动画,用户可以进行以下的“帧事件”定义过程。(1)选中“场景1”的第4帧,在动作面板中添加以下代码:gotoAndPlay(“场景2”,4);(2)选中“场景2”的最后一帧,在动作面板中添加以下代码:gotoAndPlay(场景1,5);第五十六页,共一百七
43、十六页。第9章 ActionScript编程基础 二、动作动作是由一系列语句组成的程序代码。在Flash 8中,内置了数百条的动作语句,通过它们可以实现非常强大的交互功能,下面介绍几种常见的动作语句。1stop()语句stop()语句用于停止动画的播放,该语句没有参数。例如,以下代码将制作(zhzu)一个停止按钮。On(release)stop();第五十七页,共一百七十六页。第9章 ActionScript编程基础 2play()语句play()语句用于使动画从当前帧开始播放,该语句没有参数。例如,以下代码将制作出一个播放按钮。On(press)play();3gotoAndPlay()语句
44、gotoAndPlay()语句用于跳转到某一帧或场景(chng jng),并开始播放。其格式如下:gotoAndPlay(场景(chng jng),帧);参数的意义如下:第五十八页,共一百七十六页。第9章 ActionScript编程基础 (1)场景(chng jng):指定要转到场景(chng jng)的名称,如果在同一个场景(chng jng)中跳转,可以省略该参数。(2)帧:指定要转到的帧。例如,以下代码将使动画从第15帧开始播放。on (release) gotoAndPlay(15);4gotoAndStop()语句gotoAndStop()语句用于跳转到某一帧或场景,并停止播放。其
45、格式与参数同gotoAndPlay()语句。例如,以下代码将使动画跳转至第5帧,并停止播放。第五十九页,共一百七十六页。第9章 ActionScript编程基础 on (release) gotoAndStop (5);5stopAllSounds()语句stopAllSounds()语句用于停止动画中的所有声音,而不影响其视觉效果,该语句没有参数。例如,以下代码将制作(zhzu)出一个关闭声音的按钮。On(press)stopAllSounds();第六十页,共一百七十六页。第9章 ActionScript编程基础 6nextScene()语句(yj)nextScene()语句用于跳转并停止
46、在下一场景的第1帧上,该语句没有参数。其格式如下:nextScene();7prevScene()语句prevScene()语句用于跳转并停止在上一场景的第1帧上,该语句没有参数。其格式如下:prevScene();8trace()语句trace()语句用于获取影片剪辑的名称、位置、大小和透明度等属性。其格式如下:trace(目标.属性);第六十一页,共一百七十六页。第9章 ActionScript编程基础 参数的意义如下:(1)目标:影片剪辑实例的名称。(2)属性:实例的位置、大小和透明度等。例如,以下代码(di m)将获取名称为cs的影片剪辑的位置、透明度和大小属性。trace(cs._x
47、);trace(cs._y);trace(cs._alpha);trace(cs.width);trace(cs.height);第六十二页,共一百七十六页。第9章 ActionScript编程基础 9mouse.hide()语句mouse.hide()语句用于隐藏鼠标指针,该语句没有参数。例如,以下代码将实现隐藏鼠标指针的功能。onClipEvent(load)mouse.hide();startDrag(this,true);10getURL()语句getURL()语句用于将指定的URL加载到浏览器窗口,或者将变量数据(shj)发送给指定的URL。其格式如下:getURL(网页地址,窗口)
48、;参数的意义如下:第六十三页,共一百七十六页。第9章 ActionScript编程基础 (1)网页地址:链接网页的地址,如http:/。(2)窗口:用于设置网页打开的位置,有4种方式可以选择。 1)_self:指定当前窗口中的当前框架。 2)_blank:指定一个新窗口。 3)_parent:指定当前框架的父级。 4)_top:指定当前窗口中的顶级框架。例如,以下代码(di m)将使动画在用户单击赋予该动作的按钮时,在新窗口中打开URL为的网页。on(release)getURL(“http:/”,“_blank”);第六十四页,共一百七十六页。第9章 ActionScript编程基础 11s
49、etProperty()语句setProperty()语句用于设置影片剪辑的大小、旋转、位置、名称和透明度等属性。其格式如下:setProperty(目标,属性,值);参数的意义如下:(1)目标:影片剪辑实例的名称。(2)属性:实例的位置、大小和透明度等。(3)值:指属性的值。例如,以下代码展示了一个(y )按钮事件,它将名为MMC的影片剪辑实例的透明度设置为50%。on(release)setProperty(“/MMC”,_Alpha, “50”);第六十五页,共一百七十六页。第9章 ActionScript编程基础 12duplicateMovieClip()语句duplicateMov
50、ieClip()语句用于影片剪辑的复制。其格式如下:duplicateMovieClip(目标,新名称,深度);参数的意义如下:(1)目标:定义要复制影片剪辑实例的路径。(2)新名称:设置复制的影片剪辑实例的名称。(3)深度:深度是一个数值,它表示影片剪辑实例副本与同一个影片层级中其他加载副本的相对堆叠深度。例如(lr),以下代码展示了一个按钮事件,其作用是复制名为MMC的影片剪辑实例,并将复制出的MMCD放置在2中。第六十六页,共一百七十六页。第9章 ActionScript编程基础 在复制时,改变(gibin)MMCD的x位置,以便它不会出现在原影片剪辑的上面。 on(release)du