邪气兵王最新章节1592:Flash?MX常用ActionScript速查手册

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 06:58:53

Flash MX常用ActionScript速查手册

(2008-07-08 14:45:59)转载 标签:

ActionScript是Flash的脚本语言,是一种面向对象编程语言。使用ActionScript可以控制Flash动画中的对象,创建导航元素和交互元素,扩展Flash创作交互动画和网络应用的能力。本文主要介绍Flash

MX中最常用到的ActionScript集合。

一、动作
动作部分的Action是用来控制影片播放状态的脚本集合。以利于Flash脚本编写人员速查。

(一)影片控制
1.goto

语法:gotoAndPlay(scene, frame)

参数:scene 播放头将转到场景的名称。frame 播放头将转到的帧的编号或标签。

描述:动作;将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。

2.on

语法:on(mouseEvent) {statement(s);}

参数: statement(s)是指发生mouseEvent时要执行的指令。

mouseEvent是“事件”触发器。当发生此事件时,执行事件后面花括号中的语句。可为mouseEvent参数指定下面的任何值:

press在鼠标指针经过按钮时按下鼠标;release在鼠标指针经过按钮时释放鼠标按钮;releaseOutside当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标;rollOut鼠标指针移

出按钮区域;rollOver;鼠标指针滑过按钮;dragOut在鼠标指针滑过按钮时按下鼠标,然后滑出此按钮区域;dragOver在鼠标指针移过按钮时按下鼠标,然后移出此按钮,再移回此按钮;keyPress(key)

按下指定的key。此参数的key部分可使用Flash“键盘键和键控代码值”中所列的任何键控代码进行指定,或者使用Key对象的属性摘要中列出的任何键常量进行指定。

描述:事件处理函数;指定触发动作的鼠标事件或按键事件。

3.play

语法:play()

描述:动作;在时间轴中向前移动播放头。

4.stop

语法:stop

描述:动作;停止当前正在播放的影片。此动作最通常的用法是用按钮控制影片剪辑。

5.stopAllSounds

语法:stopAllSounds()

描述:动作;在不停止播放头的情况下停止影片中当前正在播放的所有声音。设置到流的声音在播放头移过它们所在的帧时将恢复播放。

(二)浏览器/网络
该部分的Action是Flash MX用来与影片或外部文件进行交互操作的脚本集合。

1.fsCommand

语法:fscommand(〃command〃, 〃parameters〃)

参数:command。parameters均是一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给Flash Player的值。

描述:动作;使Flash影片能够与Flash Player或承载Flash Player的程序(如Web浏览器)进行通讯。还可使用fsCommand动作将消息传递给Director,或者传递给VB、VC++和其他可承载ActiveX控件的程序。

2.getURL

语法:getURL(url [, window [, 〃variables〃]])

参数:url可从该处获取文档的URL。

window一个可选参数,指定文档应加载到其中的窗口或HTML框架。你可输入特定窗口的名称,或从下面的保留目标名称中选择:_self指定当前窗口中的当前框架;_blank指定一个新窗口;_parent指定当前框架的父级;_top指定当前窗口中的顶级框架;variables用于发送变量的GET或POST方法。如果没有变量,则省略此参数。GET方法将变量追加到URL的末尾,该方法用于发送少量变量。POST方法在单独的HTTP 标头中发送变量,该方法用于发送长的变量字符串。

描述:动作;将来自特定URL的文档加载到窗口中,或将变量传递到位于所定义URL的另一个应用程序。若要测试此动作,请确保要加载的文件位于指定的位置。若要使用绝对URL,则需要网络连接。

3.loadMovie

语法:loadMovie(〃url〃,level/target[, variables])

参数:url要加载的SWF文件或JPEG文件的绝对或相对URL。

target指向目标影片剪辑的路径。目标影片剪辑将替换为加载的影片或图像。只能指定target影片剪辑或目标影片的level这两者之一。

level一个整数,指定Flash Player中影片将被加载到的级别。在将影片或图像加载到级别时,标准模式下“动作”面板中的loadMovie动作将切换为loadMovieNum;在专家模式下,必须指定loadMovieNum或从“动作”工具箱中选择它。

variables一个可选参数,指定发送变量所使用的HTTP方法。该参数须是字符串GET或POST。

描述:动作;在播放原始影片的同时将SWF或JPEG文件加载到Flash Player中。loadMovie动作使你可以同时显示几个影片,并且无需加载另一个HTML文档就可在影片之间切换。

使用unloadMovie动作可删除使用loadMovie动作加载的影片。

4.loadVariables

语法:loadVariables (〃url〃 ,level/〃target〃[, variables])

参数:url变量所处位置的绝对或相对URL。

level指定Flash Player中接收这些变量的级别的整数。参数具体用法同loadmovie。

target指向接收所加载变量的影片剪辑的目标路径。

variables一个可选参数,指定发送变量所使用的HTTP方法。

描述:动作;从外部文件(例如文本文件,或由CGI脚本、ASP、PHP脚本生成的文本)读取数据,并设置Flash Player 级别或目标影片剪辑中变量的值。此动作还可用于使用新值更新活动影片中的变量。

5.unloadMovie

语法:unloadMovie[Num](level/〃target〃)

参数:level加载影片的级别(_levelN)。从一个级别卸载影片时,在标准模式下,“动作”面板中的 unloadMovie动作切换为unloadMovieNum;在专家模式下,必须指定unloadMovieNum,或者从“动作”

工具箱中选择它。

target影片剪辑的目标路径。

描述:动作;从Flash Player中删除一个已加载的影片或影片剪辑。

(三)影片编辑控制
1.duplicateMovieclip

语法:duplicateMovieClip(target, newname,depth)

参数:target要复制的影片剪辑的目标路径。

newname复制的影片剪辑的唯一标识符。

depth复制的影片剪辑的唯一深度级别。深度级别是复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个复制的

影片剪辑分配一个唯一的深度级别,以防止它替换现有深度上的影片。

描述:动作;当影片正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑(或“父级”)中处于什么位置,复制的影片剪辑的播放头始终从第一帧开始。如果删除父影片剪辑,则复制的影片

剪辑也被删除。

2.onClipEvent

语法:onClipEvent(movieEvent){statement(s);}

参数:movieEvent是一个称作“事件”的触发器。当事件发生时,执行该事件后面花括号中的语句。可以为movieEvent参数指定下面的任何值:load影片剪辑一旦被实例化并出现在时间轴中时,即启动此

动作。;unload在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。处理与Unload影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作;enterFrame以影片帧频不断地触发此动作。首先处

理与enterFrame 剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作脚本;mouseMove每次移动鼠标时启动此动作。_xmouse和_ymouse属性用于确定当前鼠标位置;mouseDown当按下鼠标左键时

启动此动作;mouseUp当释放鼠标左键时启动此动作;keyDown当按下某个键时启动此动作。使用Key.getCode方法获取最近按下的键的有关信息;keyUp当释放某个键时启动此动作。使用Key.getCode方法获

取最近按下的键的有关信息;data当在loadVariables或loadMovie动作中接收数据时启动此动作。当与loadVariables动作一起指定时,data事件只发生一次,即加载最后一个变量时。当与loadMovie动作

一起指定时,获取数据的每一部分时,data事件都重复发生。

statement(s)发生mouseEvent时要执行的指令。

描述:事件处理函数;触发为特定影片剪辑实例定义的动作。

3.removeMovieClip

语法:removeMovieClip(target)

参数:target用duplicateMovieClip创建的影片剪辑实例的目标路径,或者用MovieClip对象的 attachMovie或duplicateMovieClip方法创建的影片剪辑的实例名。

描述:动作;删除用MovieClip对象的attachMovie或duplicateMovieClip方法创建的,或者用 duplicateMovieClip动作创建的影片剪辑实例。

4.setProperty

语法:setProperty(〃target〃,property,value/expression)

参数:target到要设置其属性的影片剪辑实例名称的路径。

property要设置的属性。

value属性的新文本值。

expression计算结果为属性新值的公式。

描述:动作;当影片播放时,更改影片剪辑的属性值。

5.startDrag

语法:startDrag(target,[lock ,left ,top ,right,bottom])

参数:target要拖动的影片剪辑的目标路径。

lock一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央(true),还是锁定到用户首次点击该影片剪辑的位置上(false)。此参数是可选的。

left、top、right、bottom相对于影片剪辑父级坐标的值,这些坐标指定该影片剪辑的约束矩形。这些参数是可选的。

描述:动作;使target影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行startDrag动作后,影片剪辑将保持可拖动状态,直到被stopDrag动作明确停止为止,或者直到为其他影片剪辑

调用了 startDrag动作为止。

6.stopDrag

语法:stopDrag()

描述:动作;停止当前的拖动操作。

7.updateAfterEvent

语法:updateAfterEvent()

描述:动作;当在onClipEvent处理函数中调用它时,或作为传递给setInterval的函数或方法的一部分进行调用时,该动作更新显示(与为影片设置的每秒帧数无关)。如果对updateAfterEvent的调用不在

onClipEvent处理函数中,也不是传递给setInterval的函数或方法的一部分,则Flash忽略该调用。

(四)变量
该部分Action是Flash MX脚本语言中的变量及对应操作的脚本集合。

1.delete

语法:delete reference

参数:reference要消除的变量或对象的名称。

描述:运算符;销毁由reference参数指定的对象或变量,如果该对象被成功删除,则返回true;否则返回false值。

2.set variable

语法:set(variable,expression)

参数:variable保存expression参数值的标识符;expression分配给变量的值。

描述:动作;为变量赋值。variable是保存数据的容器。变量可以保存任何类型的数据(例如,字符串、数字、布尔值、对象或影片剪辑)。每个影片和影片剪辑的时间轴都有其自己的变量集,每个变量又

都有其自己独立于其他时间轴上的变量的值。

3.var

语法:var variableName1 [= value1][...,variableNameN [=valueN]]

参数:variableName标识符;value分配给变量的值。

描述:动作;用于声明局部变量。如果在函数内声明局部变量,那么变量就是为该函数定义的,且在该函数调用结束时到期。如果变量不是在块({})内声明的,但使用call动作执行该动作列表,则该变量

为局部变量,且在当前列表结束时到期。如果变量不是在块中声明的,且不使用call动作执行当前动作列表,则这些变量不是局部变量。

4.with

语法:with (object) {statement(s);}

参数:object动作脚本对象或影片剪辑的实例;statement(s)花括号中包含的动作或一组动作。

描述:动作;允许你使用object参数指定一个对象(比如影片剪辑),并使用statement(s)参数计算对象中的表达式和动作。这可以使你不必重复书写对象的名称或路径。

(五)条件/循环
该部分Action是Flash MX脚本中如何操作影片逻辑的脚本集合。

1.break

语法:break

描述:动作;出现在一个循环(for、for..in、do while或while 循环)中,或者出现在与switch动作内特定case语句相关联的语句块中。break动作可命令Flash跳过循环体的其余部分,停止循环动作,并

执行循环语句之后的语句。当使用break动作时,Flash解释程序会跳过该case块中的其余语句,转到包含它的 switch动作后的第一个语句。使用break动作可跳出一系列嵌套的循环。

2.case

语法:case expression: statements

参数:expression任何表达式;statements任何语句。

描述:关键字;定义用于switch动作的条件。如果case关键字后的expression参数在使用全等(===)的情况下等于switch动作的expression参数,则执行statements参数中的语句。如果在switch语句外部使

用case动作,则将产生错误,脚本不能编译。

3.continue

语法:continue

描述:动作;出现在几种类型的循环语句中;它在每种类型的循环中的行为方式各不相同。

在while循环中,continue可使Flash解释程序跳过循环体的其余部分,并转到循环的顶端(在该处进行条件测试)。在do while循环中,continue可使Flash解释程序跳过循环体的其余部分,并转到循环的底

端(在该处进行条件测试)。在for循环中,continue可使Flash解释程序跳过循环体的其余部分,并转而计算for循环的后表达式(post-expression)。在for..in循环中,continue可使Flash解释程序跳过循

环体的其余部分,并跳回循环的顶端(在该处处理下一个枚举值)。

4.Default

语法:default: statements

参数:statements任何语句。

描述:关键字;定义switch动作的默认情况。对于一个给定的switch动作,如果该switch动作的 Expression参数与case关键字后面的任何一个Expression参数都不相等(使用全等),则执行这些语句。

5.do while

语法:do {statement(s)} while (condition)

参数:condition要计算的条件。

statement(s)只要condition参数计算结果为true就会执行的语句。

描述:动作;执行语句,然后只要条件为true,就计算循环中的条件。

6.else

语法:else statement

else {...statement(s)...}

参数:ondition计算结果为true或false的表达式。

statement(s)如果if语句中指定的条件为false,则运行的替代语句系列。

描述:动作;指定当if语句中的条件返回false时要运行的语句。

7.else if

语法:if (condition){statement(s);} else if (condition){statement(s);}

参数:condition计算结果为true或false的表达式。

statement(s)如果if语句中指定的条件为false,则运行的替代语句系列。

描述:动作;计算条件,并指定当初始if语句中的条件返回false时要运行的语句。如果else if条件返回true,则Flash解释程序运行该条件后面花括号({})中的语句。如果else if条件为false,则Flash

跳过花括号中的语句,运行花括号之后的语句。在脚本中可以使用else if动作创建分支逻辑。

8.for

语法:for(init; condition; next) {statement(s);}

参数:init一个在开始循环序列前要计算的表达式,通常为赋值表达式。此参数还允许使用Var语句。

condition计算结果为true或false的表达式。在每次循环迭代前计算该条件;当条件的计算结果为false时退出循环。

next一个在每次循环迭代后要计算的表达式;通常为使用递增或递减运算符的赋值表达式。

statement(s)在循环体内要执行的指令。

描述:动作;一种循环结构,首先计算init(初始化)表达式一次,只要condition的计算结果为true,则按照以下顺序开始循环序列,执行statement,然后计算next表达式。

9.For..in

语法:for(variableIterant in object){statement(s);}

参数:variableIterant作为迭代变量的变量名,引用数组中对象或元素的每个属性。

object要重复的对象的名称。

statement(s)要为每次迭代执行的指令。

描述:动作;循环通过数组中对象或元素的属性,并为对象的每个属性执行statement。

10.if

语法:if(condition) {statement(s);}

参数:condition计算结果为true或false的表达式。

statement(s)如果或当条件的计算结果为true时要执行的指令。

描述:动作;对条件进行计算以确定影片中的下一步动作。如果条件为true,则Flash将运行条件后面花括号({})内的语句。如果条件为false,则Flash跳过花括号内的语句,运行花括号后面的语句。使用

if动作可在脚本中创建分支逻辑。

11.switch

语法:switch (expression){caseClause:[defaultClause:]}

参数:expression任意表达式。

caseClause一个Case关键字,其后跟表达式、冒号和一组语句,如果在使用全等的情况下,此处的表达式与switch expression参数相匹配,则执行这组语句。

defaultClause一个default关键字,其后跟着如果这些Case表达式都不与switch expression参数全等匹配时要执行的语句。

描述:动作;创建动作脚本语句的分支结构。像If动作一样,Switch 动作测试一个条件,并在条件返回true值时执行语句。

12.while

语法:while(condition) {statement(s);}

参数:condition每次执行while动作时都要重新计算的表达式。如果该语句的计算结果为 true,则运行statement(s)。

statement(s)条件的计算结果为true时要执行的代码。

描述:动作;测试表达式,只要该表达式为true,就重复运行循环中的语句或语句序列。

(六)用户定义的函数
该部分的Action可以通过用户自己组合开发更具灵活的程序脚本。

1.call

语法:call(frame)

参数:frame时间轴中帧的标签或编号。

描述:动作;执行被调用帧中的脚本,而不将播放头移动到该帧。一旦执行完该脚本,局部变量将不存在。

2.call function

语法:object.function([parameters])

参数:object其中定义了函数的对象(可以是影片剪辑)。

function指定用户定义的函数的标识符。

parameters可选参数,指示函数所需的任何参数。

描述:动作;允许你在标准模式下,使用“动作”面板中的参数字段来调用用户定义的函数。

3.function

语法:function functionname ([parameter0, parameter1,...parameterN]){statement(s)}

function ([parameter0, parameter1,...parameterN]){statement(s)}

参数:functionname新函数的名称。

parameter一个标识符,表示要传递给函数的参数。这些参数是可选的。

statement(s)为function的函数体定义的任何动作脚本指令。

描述:你定义的用来执行特定任务的一组语句。可以在影片的一个地方“声明”或定义函数,然后从影片的其他脚本调用它。定义函数时,还可以为其指定参数。参数是函数要对其进行操作的值的占位符

。每次调用函数时,可以向其传递不同的参数。这使你可以在不同场合重复使用一个函数。

4.method

语法:object.method = function ([parameters]) {

...body of function...};

参数:object对象的标识符。

method方法的标识符。

parameters要传递给函数的参数。可选参数。

描述:动作(仅限标准模式);用于在标准模式下使用“动作”面板来定义对象的方法。

5.Return

语法:return[expression]

return

参数:expression要作为函数值计算并返回的字符串、数字、数组或对象。此参数是可选的。

返回值:如果提供了expression参数,则返回计算的结果。

描述:动作;指定由函数返回的值。return动作计算expression并将结果作为它在其中执行的函数的值返回。return动作导致函数停止运行,并用返回值代替函数。如果单独使用return语句,它返回null



二、函数
函数是Flash MX中至关重要的部分,是完成复杂的程序操作的必要组合。

(一)常用函数
顾名思义,该部分的内容是介绍Flash MX中常用逻辑函数脚本集合。

1.escape

语法:escape(expression)

参数:expression要转换为字符串并以URL编码格式进行编码的表达式。

描述:函数;将参数转换为字符串,并以URL编码格式进行编码,在这种格式中,将所有非字母数字的字符都转义为十六进制序列。

2.eval

语法:eval_r(expression)

参数:expression包含要获取的变量、属性、对象或影片剪辑的名称的字符串。

描述:函数;按照名称访问变量、属性、对象或影片剪辑。如果expression是一个变量或属性,则返回该变量或属性的值。如果expression是一个对象或影片剪辑,则返回指向该对象或影片剪辑的引用。

如果无法找到expression中指定的元素,则返回undefined。

3.getProperty

语法:getProperty(instancename , property)

参数:instancename 要获取其属性的影片剪辑的实例名称。

property影片剪辑的属性。

描述:函数;返回影片剪辑instancename的指定property的值。

4.getTimer

语法:getTimer()

描述:函数;返回自影片开始播放时起已经过的毫秒数。

5.targetPath

语法:targetpath(movieClipObject)

参数:movieClipObject对要获取其目标路径的影片剪辑的引用(例如,_root或_parent)。

描述:函数;返回包含movieClipObject的目标路径的字符串。此目标路径以点记号表示形式返回。若要获取以斜杠记号表示的目标路径,请使用_target属性。

6.unescape

语法:unescape(x)

参数:x要转义的十六进制序列字符串。

描述:顶级函数;将参数x作为字符串计算,将该字符串从URL编码格式(这种格式将所有十六进制序列转换为ASCII字符)进行解码,并返回该字符串。

(二)数学函数
该部分的Action帮助开发人员完成程序中的数学运算。

1.isFinite

语法:isFinite(expression)

参数:expression要计算的布尔表达式、变量表达式或其他表达式。

描述:顶级函数;对expression进行计算,如果其为有限数,则返回true,如果为无穷大或负无穷大,则返回false。无穷大或负无穷大的出现指示有错误的数学条件,例如被0除。

2.isNaN

语法:isNaN(expression)

参数:expression要计算的布尔表达式、变量表达式或其他表达式。

描述:顶级函数;对参数进行计算,如果值不是数字(NaN),则返回true,指示存在数学错误。

3.parseFloat

语法:parseFloat(string)

参数:string要读取并转换为浮点数的字符串。

描述:函数;将字符串转换为浮点数。此函数读取(或“分析”)并返回字符串中的数字,直到它到达不是数字(其初始含义为数字)部分的字符。如果字符串不是以一个可以分析的数字开始的,则

parseFloat返回NaN。有效整数前面的空白将被忽略,有效整数后面的非数值字符也将被忽略。

4.parseInt

语法:parseInt(expression, [radix])

参数:expression转换为整数的字符串。

radix表示要分析数字的基数(基)的整数。合法值为2~36。此参数是可选的。

描述:函数;将字符串转换为整数。如果参数中指定的字符串不能转换为数字,则此函数返回NaN。以0开头的整数或指定基数为8的整数被解释为八进制数字。以0x开头的字符串被解释为十六进制数字。有

效整数前面的空白将被忽略,有效整数后面的非数值字符也将被忽略。

(三)转换函数
该部分的Action是Flash MX用来处理内容格式转换的脚本集合。

1.Boolean(函数)

语法:Boolean(expression)

参数:expression一个可转换为布尔值的表达式。

描述:函数;将参数expression转换为布尔值,并以如下形式返回值:如果expression是布尔值,则返回值为expression。如果expression是数字,则在该数字不为零时返回值为true,否则为false。如果

expression是字符串,则调用toNumber方法,并且在该数字不为零时返回值为true,否则为false。如果expression未定义,则返回值为false。如果expression 是影片剪辑或对象,则返回值为true。

2.Number(函数)

语法:Number(expression)

参数:expression要转换为数字的表达式。

描述:函数;将参数expression转换为数字并按如下规则返回一个值:

如果expression为数字,则返回值为expression。如果expression为布尔值,当 expression为true时,返回值为1;当expression为false时,返回值为0。如果expression 为字符串,则该函数尝试将

expression解析为一个带有可选尾随指数的十进制数字。如果expression为undefined,则返回值为0。

3.String(函数)

语法:String(expression)

参数:expression要转换为字符串的表达式。

描述:函数;返回指定参数的字符串表示形式,规则如下所示:

如果expression为布尔值,则返回字符串为true或false。如果expression是数字,则返回的字符串为此数字的文本表示形式。如果expression为字符串,则返回的字符串是 expression。如果expression

是一个对象,则返回值为该对象的字符串表示形式,它是通过调用该对象的字符串属性而生成的,如果不存在此类属性,则通过调用Object.toString 而生成。如果expression是一个影片剪辑,则返回值

是以斜杠(/)记号表示的此影片剪辑的目标路径。如果expression为undefined,则返回值为空字符串()。

三、常量
该部分的aAction罗列出Flash MX中常用的常量脚本集合。

1.false

语法:false