奥特拓展:FLASH函数大全

来源:百度文库 编辑:中财网 时间:2024/04/29 07:56:46
一、        影片控制
1.        gotoAndPlay
可用性 Flash 2 。用法 gotoAndPlay( scene, frame ) 参数 scene 播放头将转到的场景的名称。 frame
播放头将转到的帧的编号或标签。返回无。说明动作;将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。示例当用户点击
gotoAndPlay 动作所分配到的按钮时,播放头将转到第 16 帧并开始播放。 on(release) { gotoAndPlay(16); }
2.        gotoAndStop
可用性 Flash 2 。用法 gotoAndStop( scene, frame ) 参数 scene 播放头将转到的场景的名称。 frame
播放头将转到的帧的编号或标签。返回无。说明动作;将播放头转到场景中指定的帧并停止播放。如果未指定场景,则播放头将转到当前场景中的帧。示例当用户点击
gotoAndStop 动作所分配到的按钮时,播放头将转到第 5 帧并且影片停止播放。 on(release) { gotoAndStop(5);
}
3.        nextFrame
可用性 Flash 2 。用法 nextFrame()
参数无。返回无。说明动作;将播放头移到下一帧并停止。示例在这个示例中,当用户点击此按钮时,播放头转到下一帧并停下来。 on (release) {
nextFrame(); }
4.        nextScene
可用性 Flash 2 。用法 nextScene()
参数无。返回无。说明动作;将播放头移到下一场景的第一帧并停止。示例在这个示例中,当用户释放此按钮时,播放头被移到下一场景的第一帧。
on(release) { nextScene(); } 另请参见 prevScene
5.        on
可用性 Flash 2 。在 Flash 2 中,不是所有的事件都受支持。用法 on( mouseEvent ) { statement(s); }
参数 statement(s) 发生 mouseEvent 时要执行的指令。 mouseEvent
是称作“事件”的触发器。当发生此事件时,执行事件后面花括号中的语句。可以为 mouseEvent 参数指定下面的任何值: - press
在鼠标指针经过按钮时按下鼠标按钮。 - release 在鼠标指针经过按钮时释放鼠标按钮。 - releaseOutside
当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标按钮。 - rollOut 鼠标指针滑出按钮区域。 - rollOver
鼠标指针滑过按钮。 - dragOut 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮区域。 - dragOver
在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮,再滑回此按钮。 - keyPress ( “ key ” ) 按下指定的 key 。此参数的
key 部分可使用 《 使用 Flash》 的“附录 B ”“键盘键和键控代码值”中所列的任何键控代码进行指定,或者使用 Key
对象的属性摘要中列出的任何键常量进行指定。说明事件处理函数;指定触发动作的鼠标事件或者按键事件。示例在下面的脚本中,当按下鼠标按钮时,执行
startDrag 动作,当释放鼠标按钮时,执行条件脚本,并放下该对象。 on(press) { startDrag("rabbit"); }
on(release) { trace(_root.rabbit._y); trace(_root.rabbit._x); stopDrag();
} 另请参见 onClipEvent
6.        play
可用性 Flash 2 。用法 play() 参数无。返回无。说明动作;在时间轴中向前移动播放头。示例下面的代码使用 if
语句检查用户输入的名称值。如果用户输入 Steve ,则调用 play 动作,而且播放头在时间轴中向前移动。如果用户输入 Steve
以外的任何其他内容,则不播放影片,而显示带有变量名 alert 的文本字段。 stop(); if (name == "Steve") {
play(); } else { alert="You are not Steve!"; }
7.        prevFrame
可用性 Flash 2 。用法 prevFrame()
参数无。返回无。说明动作;将播放头移到上一帧并停止。如果当前在第一帧,则播放头不移动。示例当用户点击附加了以下处理函数的按钮时,播放头移到上一帧。
on(release) { prevFrame(); } 另请参见
8.        prevScene
可用性 Flash 2 。用法 prevScene() 参数无。返回无。说明动作;将播放头移到前一场景的第一帧并停止。另请参见 nextScene
9.        Stop
可用性 Flash 2 。用法 stop 参数无。返回无。说明动作;停止当前正在播放的影片。此动作最通常的用法是用按钮控制影片剪辑。
10.      stopAllSounds
可用性 Flash Player 3 。用法 stopAllSounds()
参数无。返回无。说明动作;在不停止播放头的情况下停止影片中当前正在播放的所有声音。设置到流的声音在播放头移过它们所在的帧时将恢复播放。示例下面的代码可以应用到一个按钮,这样当单击此按钮时,将停止影片中所有的声音。
on(release) { stopAllSounds(); }
二.      浏览器/网络 : 控制 Web 浏览器和网络的动作(一)
1.        fscommand
可用性 Flash Player 3 。用法 fscommand(" command ", " parameters ") 参数 command
一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给独立 Flash Player
的命令。一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给 Flash Player 的值。返回无。说明动作;使 Flash 影片能够与
Flash Player 或承载 Flash Player 的程序(如 Web 浏览器)进行通讯。还可使用 fscommand 动作将消息传递给
Macromedia Director ,或者传递给 Visual Basic 、 Visual C++ 和其他可承载 ActiveX
控件的程序。用法 1 :若要将消息发送给 Flash Player ,必须使用预定义的命令和参数。用法 2 :若要在 Web 浏览器中使用
fscommand 动作将消息发送到脚本撰写语言(如 JavaScript ),可以在 command 和 parameters
参数中传递任意两个参数。这些参数可以是字符串或表达式,在“捕捉”或处理 fscommand 动作的 JavaScript 函数中使用这些参数。在
Web 浏览器中, fscommand 动作在包含 Flash 影片的 HTML 页中调用 JavaScript 函数
moviename_DoFScommand 。 moviename 是 Flash Player 影片的名称,该名称由 EMBED 标签的 NAME
属性指定,或由 OBJECT 标签的 ID 属性指定。如果为 Flash Player 影片分配名称 myMovie ,则调用的
JavaScript 函数为 myMovie_DoFScommand 。用法 3 : fscommand 动作可将消息发送给 Macromedia
Director , Lingo 将消息解释为字符串、事件或可执行的 Lingo 代码。如果该消息为字符串或事件,则必须编写 Lingo 代码以便从
fscommand 动作接收该消息,并在 Director 中执行动作。有关更多信息,请访问“ Director 支持中心” (Director
Support Center) 。用法 4 :在 Visual Basic 、 Visual C++ 和可承载 ActiveX 控件的其他程序中,
fscommand 利用可在环境的编程语言中处理的两个字符串发送 VB 事件。有关更多信息,请使用关键字 Flash method 搜索 Flash
支持中心 (Flash Support Center) 。示例用法 1 :在下面的示例中, fscommand 动作设置 Flash Player
,以便在释放按钮时,将影片缩放到整个显示器屏幕大小。 on(release){ fscommand("fullscreen", true); }
用法 2 :下面的示例使用应用到 Flash 中按钮的 fscommand 动作打开 HTML 页中的 JavaScript 消息框。消息本身作为
fscommand 参数发送到 JavaScript 。必须将一个函数添加到包含 Flash 影片的 HTML 页。此函数 myMovie
_DoFSCommand 位于 HTML 页中,等待Flash 中的 fscommand 动作。当在 Flash 中触发 fscommand
后(例如,当用户按下按钮时), command 和 parameter 字符串被传递到 myMovie _DoFSCommand 函数。可以在
JavaScript 或 VBScript 代码中以任何需要的方式使用所传递的字符串。在此示例中,该函数包含一个条件 if
语句,该语句检查命令字符串是否为“ messagebox ”。如果是,则 JavaScript 警告框(或“ messagebox ”)打开并显示
parameters 字符串的内容。 function myMovie_DoFSCommand(command, args) { if
(command == "messagebox") { alert(args); } } 在 Flash 文档中,将 fscommand
动作添加到按钮: fscommand("messagebox", "This is a message box called from within
Flash.") 也可以为 fscommand 动作和参数使用表达式,如下面的示例所示: fscommand("messagebox",
"Hello, " + name + ", welcome to our Web site!") 若要测试影片,请选择“文件” > “发布预览” >
“ HTML ”。如果在 HTML “发布设置”中使用具有 FSCommand 模板的 Flash 发布影片,则自动插入
myMovie_DoFSCommand 函数。该影片的 NAME 和 ID 属性将是其文件名。例如,对于文件 myMovie.fla
,该属性将设置为 myMovie 。
2.        getURL
可用性 Flash 2 。 GET 和 POST 选项仅适用于 Flash Player 4 和 Player 的更高版本。用法
getURL(url [, window [, "variables"]]) 参数 url 可从该处获取文档的 URL 。 window
一个可选参数,指定文档应加载到其中的窗口或 HTML 框架。您可输入特定窗口的名称,或从下面的保留目标名称中选择: - _self
指定当前窗口中的当前框架。 - _blank 指定一个新窗口。 - _parent 指定当前框架的父级。 - _top 指定当前窗口中的顶级框架。
variables 用于发送变量的 GET 或 POST 方法。如果没有变量,则省略此参数。 GET 方法将变量追加到 URL
的末尾,该方法用于发送少量变量。 POST 方法在单独的 HTTP 标头中发送变量,该方法用于发送长的变量字符串。返回无。说明动作;将来自特定
URL 的文档加载到窗口中,或将变量传递到位于所定义 URL 的另一个应用程序。若要测试此动作,请确保要加载的文件位于指定的位置。若要使用绝对
URL (例如,http://www.myserver.com ),则需要网络连接。示例此示例将一个新 URL 加载到空浏览器窗口中。
getURL 动作将变量 incomingAd 作为 url 参数的目标,这样您无需编辑 Flash 影片即可更改加载的 URL
。在这之前,在影片中使用 loadVariables 动作将 incomingAd 变量的值传递到 Flash 中。 on(release) {
getURL(incomingAd, "_blank"); } 另请参见 loadVariables XML.send
XML.sendAndLoad XMLSocket.send
二.浏览器/网络 : 控制 Web 浏览器和网络的动作 (二)
3.    loadMovie
可用性 Flash Player 3 。用法 loadMovie(" url ", level / target [, variables ])
参数 url 要加载的 文件或 JPEG 文件的绝对或相对 URL 。相对路径必须相对于级别 0 处的 文件。该 URL 必须与影片当前驻留的
URL 在同一子域。为了在 Flash Player 中使用 文件或在 Flash 创作应用程序的测试模式下测试 文件,必须将所有的
文件存储在同一文件夹中,而且其文件名不能包含文件夹或磁盘驱动器说明。 target
指向目标影片剪辑的路径。目标影片剪辑将替换为加载的影片或图像。只能指定 target 影片剪辑或目标影片的 level
这两者之一;而不能同时指定两者。 level 一个整数,指定 Flash Player
中影片将被加载到的级别。在将影片或图像加载到级别时,标准模式下“动作”面板中的 loadMovie 动作将切换为 loadMovieNum
;在专家模式下,您必须指定 loadMovieNum 或从“动作”工具箱中选择它。 variables 一个可选参数,指定发送变量所使用的 HTTP
方法。该参数须是字符串 GET 或 POST 。如没有要发送的变量,则省略此参数。 GET 方法将变量追加到 URL
的末尾,该方法用于发送少量变量。 POST 方法在单独的 HTTP
标头中发送变量,该方法用于发送长的变量字符串。返回无。说明动作;在播放原始影片的同时将 或 JPEG 文件加载到 Flash Player 中。
loadMovie 动作使您可以同时显示几个影片,并且无需加载另一个 HTML 文档就可在影片之间切换。如果不使用 loadMovie 动作,则
Flash Player 显示单个影片( 文件),然后关闭。当使用 loadMovie 动作时,必须指定 Flash Player
中影片将加载到的级别或目标影片剪辑。如果指定级别,则该动作变成 loadMovieNum
。如果影片加载到目标影片剪辑,则可使用该影片剪辑的目标路径来定位加载的影片。加载到目标的影片或图像会继承目标影片剪辑的位置、旋转和缩放属性。加载的图像或影片的左上角与目标影片剪辑的注册点对齐。另一种情况是,如果目标为
_root 时间轴,则该图像或影片的左上角与舞台的左上角对齐。使用 unloadMovie 动作可删除使用 loadMovie
动作加载的影片。示例下面的 loadMovie 语句附加到标签为 Products 的导航按钮。在舞台上有一个实例名称为 dropZone
的不可见影片剪辑。 loadMovie 动作使用此影片剪辑作为目标参数将 文件形式的产品加载到舞台上的正确位置。 on(release) {
loadMovie("products",_root.dropZone); }下面的示例从目录中加载一个 JPEG 图像,该目录与调用
loadMovie 动作的 文件的目录相同: loadMovie("image45.jpeg", "ourMovieClip"); 另请参见
loadMovieNum unloadMovie unloadMovieNum _level
4.    loadMovieNum
可用性 Flash Player 4 。用 Flash 5 打开的 Flash 4 文件将进行转换,以使用正确的语法。用法
loadMovieNum(" url ", level [, variables ]) 参数 url 要加载的 或 JPEG 文件的绝对或相对
URL 。相对路径必须相对于级别 0 处的 文件。该 URL 必须与影片当前驻留的 URL 在同一子域。为了在独立的 Flash Player
中使用 文件或在 Flash 创作应用程序的测试影片模式下测试 文件,必须将所有的
文件存储在同一文件夹中,并且其文件名不能包含文件夹或磁盘驱动器说明。 level 一个整数,指定 Flash Player 中影片将被加载到的级别。
variables 一个可选参数,指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST
。如果没有要发送的变量,则省略此参数。 GET 方法将变量追加到 URL 的末尾,该方法用于发送少量变量。 POST 方法在单独的 HTTP
标头中发送变量,该方法用于发送长的变量字符串。返回无。说明动作;在播放原来加载的影片的同时将 或 JPEG 文件加载到 Flash Player
中的某个级别。在将影片加载到级别而不是目标时,标准模式下“动作”面板中的 loadMovie 动作将切换为 loadMovieNum
;在专家模式下,您必须指定 loadMovieNum 或从“动作”工具箱中选择它。一般情况下, Flash Player 显示单个影片(
文件),然后关闭。 loadMovieNum 动作使您可以同时显示几个影片,并且无需加载另一个 HTML 文档就可在影片之间切换。 Flash
Player 具有从级别 0 开始的级别堆叠顺序。这些级别类似于醋酸纤维层;除了每个级别上的对象之外,它们是透明的。当使用 loadMovieNum
动作时,必须指定 Flash Player 中影片将加载到的级别。在影片加载到级别后,即可使用语法 _level N 来定位影片,其中 N
为级别号。当加载影片时,可指定任何级别号,并且可将影片加载到已加载有 文件的级别。如果执行此动作,则新影片将替换现有的 文件。如果将影片加载到级别
0 ,则 Flash Player 中的每个级别均被卸载,并且级别 0 将替换为该新文件。处于级别 0
的影片为所有其他加载的影片设置帧频、背景色和帧大小。 loadMovieNum 动作也允许您在播放影片时将 JPEG 文件加载到影片中。对于图像和
文件,在文件加载时,图像的左上角均与舞台的左上角对齐。另外,在这两种情况下,加载的文件均继承旋转和缩放设置,并且原始内容将被覆盖。使用
unloadMovieNum 动作可删除使用 loadMovieNum 动作加载的影片或图像。示例此示例将 JPEG 图像“ image45.jpg
”加载到 Flash Player 的级别 2 中。 loadMovieNum("http://www.blag.com/image45.jpg",
2); //另请参见 loadMovie unloadMovie unloadMovieNum _level
二.浏览器/网络 : 控制 Web 浏览器和网络的动作(三)
5.loadVariables
可用性 Flash Player 4 。用法 loadVariables (" url " , level/ " target "[,
variables ]) 参数 url 变量所处位置的绝对或相对 URL 。如果使用 Web 浏览器访问影片,则此 URL
的宿主必须与影片本身在同一子域中。 level 指定 Flash Player
中接收这些变量的级别的整数。当将变量加载到级别时,在标准模式下,“动作”面板中的该动作变成 loadVariablesNum
;在专家模式下,您必须指定 loadVariablesNum 或从“动作”工具箱中选择它。 target
指向接收所加载变量的影片剪辑的目标路径。您只能指定 target 影片剪辑或 Flash Player 中的 level
(级别)这两者之一;而不能同时指定这两者。 variables 一个可选参数,指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或
POST 。如果没有要发送的变量,则省略此参数。 GET 方法将变量追加到 URL 的末尾,该方法用于发送少量变量。 POST 方法在单独的
HTTP 标头中发送变量,该方法用于发送长的变量字符串。返回无。说明动作;从外部文件(例如文本文件,或由 CGI 脚本、 Active Server
Page (ASP) 、 PHP 或 Perl 脚本生成的文本)读取数据,并设置 Flash Player
级别或目标影片剪辑中变量的值。此动作还可用于使用新值更新活动影片中的变量。在指定 URL 处的文本必须为标准的 MIME 格式
application/x-www-form-urlencoded (一种 CGI
脚本使用的标准格式)。要加载的影片和变量必须驻留在同一子域中。可以指定任意数量的变量。例如,下面的语句定义了几个变量:
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103 将要在
Flash Player 实例中打开的第一个影片加载到最下一级(在代码中标识为 _level0 )。当使用 loadMovie 或
loadMovieNum 动作将后面的影片加载到 Flash Player 中时,必须指定一个 Flash Player
中的级别号,或者指定一个目标影片剪辑(每个影片都将加载到该级别或目标影片剪辑中)。当使用 loadVariables 动作时,必须指定变量将加载到的
Flash Player 级别或影片剪辑目标。示例此示例将来自文本文件的信息加载到主时间轴上 varTarget
影片剪辑的文本字段中。文本字段的变量名必须与 data.txt 文件中的变量名匹配。 on(release) {
loadVariables("data.txt", "_root.varTarget"); } 另请参见loadVariablesNum
loadMovie loadMovieNum getURL 、 MovieClip.loadVariables
6.        loadVariablesNum
可用性 Flash Player 4 。用 Flash 5 打开的 Flash 4 文件将进行转换,以使用正确的语法。用法
loadVariables (" url " , level [, variables ]) 参数 url 变量所处位置的绝对或相对 URL
。如果使用 Web 浏览器访问影片,则此 URL 的宿主必须与影片本身在同一子域中。 level 指定 Flash Player
中接收这些变量的级别的整数。 variables 一个可选参数,指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST
。如果没有要发送的变量,则省略此参数。 GET 方法将变量追加到 URL 的末尾,该方法用于发送少量变量。 POST 方法在单独的 HTTP
标头中发送变量,该方法用于发送长的变量字符串。返回无。说明动作;从外部文件(例如文本文件,或由 CGI 脚本、 Active Server Page
(ASP) 、 PHP 或 Perl 脚本生成的文本)读取数据,并设置 Flash Player
级别中变量的值。此动作还可用于使用新值更新活动影片中的变量。当将变量加载到级别时,在标准模式下,“动作”面板中的该动作变成
loadVariablesNum ;在专家模式下,您必须指定 loadVariablesNum 或从“动作”工具箱中选择它。在指定 URL
处的文本必须为标准的 MIME 格式 application/x-www-form-urlencoded (一种 CGI
脚本使用的标准格式)。要加载的影片和变量必须驻留在同一子域中。可以指定任意数量的变量。例如,下面的语句定义了几个变量:
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103 将要在
Flash Player 实例中打开的第一个影片加载到最下一级(在代码中标识为 _level0 )。当使用 loadMovie 或
loadMovieNum 动作将后面的影片加载到 Flash Player 中时,必须指定一个 Flash Player
中的级别号,或指定一个目标影片剪辑(每个影片都将加载到该级别或目标影片剪辑中)。当使用 loadVariablesNum
动作时,必须指定变量将加载到的 Flash Player 级别。示例此示例将来自文本文件中的信息加载到 Flash Player 中级别 0
处的影片的主时间轴上的文本字段中。文本字段的变量名必须与 data.txt 文件中的变量名匹配。 on(release) {
loadVariablesNum("data.txt", 0); } 另请参见 getURL loadMovieloadMovieNum
loadVariables
二.浏览器/网络 : 控制 Web 浏览器和网络的动作(四)
7.    unloadMovie
可用性 Flash Player 3 。用法 unloadMovie[Num]( level/ " target ") 参数 level
加载影片的级别 ( _level N ) 。从一个级别卸载影片时,在标准模式下,“动作”面板中的 unloadMovie 动作切换为
unloadMovieNum ;在专家模式下,必须指定 unloadMovieNum ,或者从“动作”工具箱中选择它。 target
影片剪辑的目标路径。返回无。说明动作;从 Flash Player 中删除一个已加载的影片或影片剪辑。若要卸载一个已经加载到 Flash
Player 级别中的影片,请使用 level 参数。若要卸载已经加载的影片剪辑,请使用 target 参数。示例下面的示例卸载主时间轴上的影片剪辑
draggable ,并将影片 movie.swf 加载到级别 4 中。 on (press) { unloadMovie
("_root.draggable"); loadMovieNum ("movie.swf", 4); } 下面的示例卸载已经加载到级别 4
中的影片: on (press) { unloadMovieNum (4); } 另请参见 loadMovie loadMovieNum
unloadMovieNum
8.      unloadMovieNum
可用性 Flash Player 3 。用法 unloadMovieNum( level ) 参数 level 加载影片的级别 ( _level N
) 。返回无。说明动作;从 Flash Player 中删除已加载的影片。另请参见 loadMovie loadMovieNum
三        影片剪辑控制 : 控制影片剪辑的动作
1.        duplicateMovieClip
可用性 Flash Player 4 。用法 duplicateMovieClip( target , newname , depth ) 参数
target 要复制的影片剪辑的目标路径。 newname 复制的影片剪辑的唯一标识符。 depth
复制的影片剪辑的唯一深度级别。深度级别是复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个复制的影片剪辑分配一个唯一的深度级别,以防止它替换现有深度上的影片。返回无。说明动作;当影片正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑(或“父级”)中处于什么位置,复制的影片剪辑的播放头始终从第一帧开始。父影片剪辑中的变量不拷贝到复制的影片剪辑中。如果删除父影片剪辑,则复制的影片剪辑也被删除。使用
removeMovieClip 动作或方法可以删除由 duplicateMovieClip 创建的影片剪辑实例。示例该语句复制影片剪辑实例
flower 十次。变量 i 用于为每个复制的影片剪辑创建新实例名和唯一的深度。 on (release) { amount = 10; while
(amount>0) { duplicateMovieClip (_root.flower, "mc"+i, i); setProperty
("mc"+i, _x, random(275)); setProperty ("mc"+i, _y, random(275));
setProperty ("mc"+i, _alpha, random(275)); setProperty ("mc"+i, _xscale,
random(50)); setProperty ("mc"+i, _yscale, random(50)); i++; amount--; } }
另请参见 removeMovieClip
2.        onClipEvent
可用性 Flash Player 5 。用法 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
时要执行的指令。说明事件处理函数;触发为特定影片剪辑实例定义的动作。示例下面的语句在导出影片时包括来自外部文件的脚本;当加载动作所附加到的影片剪辑时,运行包含脚本中的动作:
onClipEvent(load) { #include "myScript.as" } 下面的示例将 onClipEvent 与 keyDown
影片事件一起使用。 keyDown 影片事件通常与 Key 对象的一个或多个方法和属性一起使用。下面的脚本使用 Key.getCode
方法找出用户按下了哪个键;如果按下的键与 Key.RIGHT 属性相匹配,则将影片移到下一帧;如果按下的键与 Key.LEFT
属性相匹配,则将影片移到上一帧。 onClipEvent(keyDown) { if (Key.getCode() == Key.RIGHT) {
_parent.nextFrame(); } else if (Key.getCode() == Key.LEFT){
_parent.prevFrame(); } }下面的示例将 onClipEvent 与 mouseMove 影片事件一起使用。 _ xmouse
和 _ ymouse 属性跟踪每次鼠标移动时的鼠标位置。 onClipEvent(mouseMove) { stageX=_root.xmouse;
stageY=_root.ymouse; } 另请参见 on
3.        removeMovieClip
可用性 Flash Player 4 。用法 removeMovieClip( target ) 参数 target 用
duplicateMovieClip 创建的影片剪辑实例的目标路径,或者用 MovieClip 对象的 attachMovie 或
duplicateMovieClip 方法创建的影片剪辑的实例名。返回无。说明动作;删除用 MovieClip 对象的 attachMovie 或
duplicateMovieClip 方法创建的,或者用 duplicateMovieClip 动作创建的影片剪辑实例。另请参见
duplicateMovieClip 1/1
4.        setProperty
可用性 Flash Player 4 。用法 setProperty(" target ", property , value/expression
) 参数 target 到要设置其属性的影片剪辑实例名称的路径。要设置的属性。 value 属性的新文本值。 expression
计算结果为属性新值的公式。返回无。说明动作;当影片播放时,更改影片剪辑的属性值。示例当单击按钮时,此语句将名为 star 的影片剪辑的 _alpha
属性设置为 30% : on(release) { setProperty("star", _alpha, "30"); } 另请参见
getProperty 1/1
5.        startDrag
可用性 Flash Player 4 。用法 startDrag( target ,[ lock , left , top , right ,
bottom ]) 参数 target 要拖动的影片剪辑的目标路径。 lock 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央 ( true )
,还是锁定到用户首次点击该影片剪辑的位置上 ( false ) 。此参数是可选的。 left 、 top 、 right 、 bottom
相对于影片剪辑父级坐标的值,这些坐标指定该影片剪辑的约束矩形。这些参数是可选的。返回无。说明动作;使 target
影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行 startDrag 动作后,影片剪辑将保持可拖动状态,直到被 stopDrag
动作明确停止为止,或者直到为其他影片剪辑调用了 startDrag 动作为止。示例若要创建用户可以放在任何位置的影片剪辑,可将 startDrag
和 stopDrag 动作附加到该影片剪辑内的某个按钮上。 on(press) { startDrag(this,true); }
on(release) { stopDrag(); } 另请参见 stopDrag 1/1
6.        stopDrag
可用性 Flash Player 4 。用法 stopDrag()
参数无。返回无。说明动作;停止当前的拖动操作。示例此语句在用户释放鼠标按钮时停止实例 mc 上的拖动动作: on(press) {
startDrag("mc"); } on(release) { stopdrag(); } 另请参见 startDrag 1/1
7.          updateAfterEvent
可用性 Flash Player 5 。用法 updateAfterEvent() 参数无。返回无。说明动作;当在 onClipEvent
处理函数中调用它时,或作为传递给 setInterval 的函数或方法的一部分进行调用时,该动作更新显示(与为影片设置的每秒帧数无关)。如果对
updateAfterEvent 的调用不在 onClipEvent 处理函数中,也不是传递给 setInterval 的函数或方法的一部分,则
Flash 忽略该调用。另请参见 onClipEvent setInterval 1/1
五.        条件/循环 : 条件语句和循环构造(一)
1.    Break
可用性 Flash Player 4 。用法 break 参数无。返回无。说明动作;出现在一个循环( for 、 for..in 、 do
while 或 while 循环)中,或者出现在与 switch 动作内特定 case 语句相关联的语句块中。 break 动作可命令 Flash
跳过循环体的其余部分,停止循环动作,并执行循环语句之后的语句。当使用 break 动作时, Flash 解释程序会跳过该 case
块中的其余语句,转到包含它的 switch 动作后的第一个语句。使用 break 动作可跳出一系列嵌套的循环。示例下面的示例使用 break
动作退出一个循环,如果没有该动作,则该循环为无限循环。 i = 0; while (true) { if (i >= 100) { break; }
i++; } 另请参见 for for..in do while while switch case
2.    case
可用性 Flash Player 4 。用法 case expression : statements 参数 expression 任何表达式。
statements 任何语句。返回无。说明关键字;定义用于 switch 动作的条件。如果 case 关键字后的 expression
参数在使用全等 ( === ) 的情况下等于 switch 动作的 expression 参数,则执行 statements 参数中的语句。如果在
switch 语句外部使用 case 动作,则将产生错误,脚本不能编译。另请参见 switch default break === (全等)
3.    continue
可用性 Flash Player 4 。用法 continue
参数无。返回无。说明动作;出现在几种类型的循环语句中;它在每种类型的循环中的行为方式各不相同。在 while 循环中, continue 可使
Flash 解释程序跳过循环体的其余部分,并转到循环的顶端(在该处进行条件测试)。在 do while 循环中, continue 可使 Flash
解释程序跳过循环体的其余部分,并转到循环的底端(在该处进行条件测试)。在 for 循环中, continue 可使 Flash
解释程序跳过循环体的其余部分,并转而计算 for 循环的后表达式 (post- expression) 。在 for..in 循环中,
continue 可使 Flash 解释程序跳过循环体的其余部分,并跳回循环的顶端(在该处处理下一个枚举值)。另请参见 do while for
for..in while
4.    Default
可用性 Flash Player 6 。用法 default: statements 参数 statements 任何语句。返回无。说明关键字;定义
switch 动作的默认情况。对于一个给定的 switch 动作,如果该 switch 动作的 Expression 参数与 case
关键字后面的任何一个 Expression 参数都不相等(使用全等),则执行这些语句。 switch 不必一定有 default 情况。
default 情况也不必出现在列表的最后。在 switch 动作外部使用 default 动作是错误的,脚本将不编译。示例在下面的示例中,表达式
A 与表达式 B 或 D 不相等,所以运行 default 关键字后面的语句,并将 trace 动作发送到输出窗口。 switch ( A ) {
case B: C; break; case D: E; break; default: trace ( “ nospecific case was
encountered ” ); } 另请参见 switch case break
5.    do while
可用性 Flash Player 4 。用法 do { statement(s) } while ( condition ) 参数
condition 要计算的条件。 statement(s) 只要 condition 参数计算结果为 true
就会执行的语句。返回无。说明动作;执行语句,然后只要条件为 true ,就计算循环中的条件。另请参见 break continue
6.    else
可用性 Flash Player 4 。用法 else statement else {...statement(s)...} 参数
condition 计算结果为 true 或 false 的表达式。 statement(s) 如果 if 语句中指定的条件为 false
,则运行的替代语句系列。返回无。说明动作;指定当 if 语句中的条件返回 false 时要运行的语句。另请参见 if
7.    else if
可用性 Flash Player 4 。用法 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 跳过花括号中的语句,运行花括号之后的语句。在脚本中可以使用 elseif
动作创建分支逻辑。示例下面的示例使用 else if 动作检查对象的每一边是否都在特定的边界内: // if the object goes off
bounds, // send it back and reverse its travel speed if
(this._x>rightBound) { this._x = rightBound; xInc = -xInc; } else if
(this._x(this._y>bottomBound) { this._y = bottomBound; yInc = -yInc; } else if
(this._y二.浏览器/网络 : 控制 Web 浏览器和网络的动作(四)
7.    unloadMovie
可用性 Flash Player 3 。用法 unloadMovie[Num]( level/ " target ") 参数 level
加载影片的级别 ( _level N ) 。从一个级别卸载影片时,在标准模式下,“动作”面板中的 unloadMovie 动作切换为
unloadMovieNum ;在专家模式下,必须指定 unloadMovieNum ,或者从“动作”工具箱中选择它。 target
影片剪辑的目标路径。返回无。说明动作;从 Flash Player 中删除一个已加载的影片或影片剪辑。若要卸载一个已经加载到 Flash
Player 级别中的影片,请使用 level 参数。若要卸载已经加载的影片剪辑,请使用 target 参数。示例下面的示例卸载主时间轴上的影片剪辑
draggable ,并将影片 movie.swf 加载到级别 4 中。 on (press) { unloadMovie
("_root.draggable"); loadMovieNum ("movie.swf", 4); } 下面的示例卸载已经加载到级别 4
中的影片: on (press) { unloadMovieNum (4); } 另请参见 loadMovie loadMovieNum
unloadMovieNum
8.      unloadMovieNum
可用性 Flash Player 3 。用法 unloadMovieNum( level ) 参数 level 加载影片的级别 ( _level N
) 。返回无。说明动作;从 Flash Player 中删除已加载的影片。另请参见 loadMovie loadMovieNum
三        影片剪辑控制 : 控制影片剪辑的动作
1.        duplicateMovieClip
可用性 Flash Player 4 。用法 duplicateMovieClip( target , newname , depth ) 参数
target 要复制的影片剪辑的目标路径。 newname 复制的影片剪辑的唯一标识符。 depth
复制的影片剪辑的唯一深度级别。深度级别是复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个复制的影片剪辑分配一个唯一的深度级别,以防止它替换现有深度上的影片。返回无。说明动作;当影片正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑(或“父级”)中处于什么位置,复制的影片剪辑的播放头始终从第一帧开始。父影片剪辑中的变量不拷贝到复制的影片剪辑中。如果删除父影片剪辑,则复制的影片剪辑也被删除。使用
removeMovieClip 动作或方法可以删除由 duplicateMovieClip 创建的影片剪辑实例。示例该语句复制影片剪辑实例
flower 十次。变量 i 用于为每个复制的影片剪辑创建新实例名和唯一的深度。 on (release) { amount = 10; while
(amount>0) { duplicateMovieClip (_root.flower, "mc"+i, i); setProperty
("mc"+i, _x, random(275)); setProperty ("mc"+i, _y, random(275));
setProperty ("mc"+i, _alpha, random(275)); setProperty ("mc"+i, _xscale,
random(50)); setProperty ("mc"+i, _yscale, random(50)); i++; amount--; } }
另请参见 removeMovieClip
2.        onClipEvent
可用性 Flash Player 5 。用法 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
时要执行的指令。说明事件处理函数;触发为特定影片剪辑实例定义的动作。示例下面的语句在导出影片时包括来自外部文件的脚本;当加载动作所附加到的影片剪辑时,运行包含脚本中的动作:
onClipEvent(load) { #include "myScript.as" } 下面的示例将 onClipEvent 与 keyDown
影片事件一起使用。 keyDown 影片事件通常与 Key 对象的一个或多个方法和属性一起使用。下面的脚本使用 Key.getCode
方法找出用户按下了哪个键;如果按下的键与 Key.RIGHT 属性相匹配,则将影片移到下一帧;如果按下的键与 Key.LEFT
属性相匹配,则将影片移到上一帧。 onClipEvent(keyDown) { if (Key.getCode() == Key.RIGHT) {
_parent.nextFrame(); } else if (Key.getCode() == Key.LEFT){
_parent.prevFrame(); } }下面的示例将 onClipEvent 与 mouseMove 影片事件一起使用。 _ xmouse
和 _ ymouse 属性跟踪每次鼠标移动时的鼠标位置。 onClipEvent(mouseMove) { stageX=_root.xmouse;
stageY=_root.ymouse; } 另请参见 on
3.        removeMovieClip
可用性 Flash Player 4 。用法 removeMovieClip( target ) 参数 target 用
duplicateMovieClip 创建的影片剪辑实例的目标路径,或者用 MovieClip 对象的 attachMovie 或
duplicateMovieClip 方法创建的影片剪辑的实例名。返回无。说明动作;删除用 MovieClip 对象的 attachMovie 或
duplicateMovieClip 方法创建的,或者用 duplicateMovieClip 动作创建的影片剪辑实例。另请参见
duplicateMovieClip 1/1
4.        setProperty
可用性 Flash Player 4 。用法 setProperty(" target ", property , value/expression
) 参数 target 到要设置其属性的影片剪辑实例名称的路径。要设置的属性。 value 属性的新文本值。 expression
计算结果为属性新值的公式。返回无。说明动作;当影片播放时,更改影片剪辑的属性值。示例当单击按钮时,此语句将名为 star 的影片剪辑的 _alpha
属性设置为 30% : on(release) { setProperty("star", _alpha, "30"); } 另请参见
getProperty 1/1
5.        startDrag
可用性 Flash Player 4 。用法 startDrag( target ,[ lock , left , top , right ,
bottom ]) 参数 target 要拖动的影片剪辑的目标路径。 lock 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央 ( true )
,还是锁定到用户首次点击该影片剪辑的位置上 ( false ) 。此参数是可选的。 left 、 top 、 right 、 bottom
相对于影片剪辑父级坐标的值,这些坐标指定该影片剪辑的约束矩形。这些参数是可选的。返回无。说明动作;使 target
影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行 startDrag 动作后,影片剪辑将保持可拖动状态,直到被 stopDrag
动作明确停止为止,或者直到为其他影片剪辑调用了 startDrag 动作为止。示例若要创建用户可以放在任何位置的影片剪辑,可将 startDrag
和 stopDrag 动作附加到该影片剪辑内的某个按钮上。 on(press) { startDrag(this,true); }
on(release) { stopDrag(); } 另请参见 stopDrag 1/1
6.        stopDrag
可用性 Flash Player 4 。用法 stopDrag()
参数无。返回无。说明动作;停止当前的拖动操作。示例此语句在用户释放鼠标按钮时停止实例 mc 上的拖动动作: on(press) {
startDrag("mc"); } on(release) { stopdrag(); } 另请参见 startDrag 1/1
7.          updateAfterEvent
可用性 Flash Player 5 。用法 updateAfterEvent() 参数无。返回无。说明动作;当在 onClipEvent
处理函数中调用它时,或作为传递给 setInterval 的函数或方法的一部分进行调用时,该动作更新显示(与为影片设置的每秒帧数无关)。如果对
updateAfterEvent 的调用不在 onClipEvent 处理函数中,也不是传递给 setInterval 的函数或方法的一部分,则
Flash 忽略该调用。另请参见 onClipEvent setInterval 1/1
五.        条件/循环 : 条件语句和循环构造(二)
1.    for
可用性 Flash Player 5 。用法 for( init; condition; next ) { statement(s); } 参数
init 一个在开始循环序列前要计算的表达式,通常为赋值表达式。此参数还允许使用 var 语句。 condition 计算结果为 true 或
false 的表达式。在每次循环迭代前计算该条件;当条件的计算结果为 false 时退出循环。 next
一个在每次循环迭代后要计算的表达式;通常为使用 ++ (递增)或 -- (递减)运算符的赋值表达式。 statement(s)
在循环体内要执行的指令。说明动作;一种循环结构,首先计算 init (初始化)表达式一次,只要 condition 的计算结果为 true
,则按照以下顺序开始循环序列,执行 statement ,然后计算 next 表达式。一些属性无法用 for 或 for..in
动作进行枚举。例如, Array 对象的内置方法( Array.sort 和)不包括在 Array 对象的枚举中,而影片剪辑属性,如 _x 和 _y
,也不能枚举。示例下面的示例使用 for 在数组中添加元素: for(i=0; i<10; i++) { array [i] = (i +
5)*10; trace(array[i]); } 在输出窗口中显示下列结果: 50 60 70 80 90 100 110 120 130 140
下面是使用 for 重复执行同一动作的示例。下面的代码中, for 循环将从 1 到 100 的数字相加: var sum = 0; for
(var i=1; i<=100; i++) { sum = sum + i; } 另请参见 ++ (递增) -- (递减) for..in var
2.    for..in
可用性 Flash Player 5 。用法 for(v ariableIterant in object ){ statement(s); }
参数 variableIterant 作为迭代变量的变量名,引用数组中对象或元素的每个属性。 object 要重复的对象的名称。
statement(s) 要为每次迭代执行的指令。返回无。说明动作;循环通过数组中对象或元素的属性,并为对象的每个属性执行 statement
。一些属性无法用 for 或 for..in 动作进行枚举。例如, Array 对象的内置方法( Array.sort 和)不包括在 Array
对象的枚举中,而影片剪辑属性,如 _x 和 _y ,也不能枚举。 for..in 结构迭代所迭代对象的原型链中对象的属性。如果 child 的原型为
parent ,则用 for..in 迭代 child 的属性,也将迭代 parent 的属性。 for..in
动作枚举对象原型链中的所有对象。首先枚举该对象的属性,接着枚举其直接原型的属性,然后枚举该原型的原型的属性,依次类推。 for..in
动作对于同一属性名不枚举两次。如果对象 child 具有原型 parent ,而这两个对象都包含属性 prop ,则对 child 调用的
for..in 动作枚举来自 child 的 prop ,而忽略 parent 中的该属性。示例下面的示例使用 for..in 迭代某对象的属性:
myObject = { name:\'Tara\', age:27, city:\'San Francisco\' }; for (name in
myObject) { trace ("myObject." + name + " = " + myObject[name]); }
此示例的输出如下所示: myObject.name = Tara myObject.age = 27 myObject.city = San
Francisco 下面的示例将 typeof 运算符与 for..in 一起使用来迭代特定类型的 child : for (name in
myMovieClip) {if (typeof (myMovieClip[name]) = "movieclip") { trace ("I
have a movie clip child named " + name); } }
下面的示例枚举影片剪辑的子级,并将每个子级发送到其各自时间轴的第二帧。 RadioButtonGroup 影片剪辑是一个父级,它具有多个子级:
_RedRadioButton_ 、 _GreenRadioButton_ 和 _BlueRadioButton 。 for (var name
in RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2); }
3.    if
可用性 Flash Player 4 。用法 if( condition) { statement(s) ; } 参数 condition
计算结果为 true 或 false 的表达式。 statement(s) 如果或当条件的计算结果为 true
时要执行的指令。返回无。说明动作;对条件进行计算以确定影片中的下一步动作。如果条件为 true ,则 Flash 将运行条件后面花括号 ( {} )
内的语句。如果条件为 false ,则 Flash 跳过花括号内的语句,运行花括号后面的语句。使用 if
动作可在脚本中创建分支逻辑。示例在下面的示例中,括号内的条件对变量 name 进行计算以查看其是否具有文本值“ Erica
”。如果有,则运行花括号内的 play 动作。 if(name == "Erica"){ play(); } 示例下面的示例使用 if
动作计算用户何时释放影片中的可拖动对象。如果对象在拖动后 300 毫秒之内被释放,则条件的计算结果为 true
,并运行花括号内的语句。这些语句设置变量以存储对象的新位置、拖放对象的难易程度和拖放对象时的速度。 timePressed
变量也将被重置。如果对象在拖动后超过 300 毫秒之后被释放,则条件的计算结果为 false ,并且不运行任何语句。 if
(getTimer()was thrown. // what is the new location of this object? xNewLoc = this._x;
yNewLoc = this._y; // how hard did they throw it? xTravel = xNewLoc-xLoc;
yTravel = yNewLoc-yLoc; // setting the speed of the object depending on //
how far they travelled with it xInc = xTravel/2; yInc = yTravel/2;
timePressed = 0; } 另请参见 else
五.        条件/循环 : 条件语句和循环构造(二)
1.    for
可用性 Flash Player 5 。用法 for( init; condition; next ) { statement(s); } 参数
init 一个在开始循环序列前要计算的表达式,通常为赋值表达式。此参数还允许使用 var 语句。 condition 计算结果为 true 或
false 的表达式。在每次循环迭代前计算该条件;当条件的计算结果为 false 时退出循环。 next
一个在每次循环迭代后要计算的表达式;通常为使用 ++ (递增)或 -- (递减)运算符的赋值表达式。 statement(s)
在循环体内要执行的指令。说明动作;一种循环结构,首先计算 init (初始化)表达式一次,只要 condition 的计算结果为 true
,则按照以下顺序开始循环序列,执行 statement ,然后计算 next 表达式。一些属性无法用 for 或 for..in
动作进行枚举。例如, Array 对象的内置方法( Array.sort 和)不包括在 Array 对象的枚举中,而影片剪辑属性,如 _x 和 _y
,也不能枚举。示例下面的示例使用 for 在数组中添加元素: for(i=0; i<10; i++) { array [i] = (i +
5)*10; trace(array[i]); } 在输出窗口中显示下列结果: 50 60 70 80 90 100 110 120 130 140
下面是使用 for 重复执行同一动作的示例。下面的代码中, for 循环将从 1 到 100 的数字相加: var sum = 0; for
(var i=1; i<=100; i++) { sum = sum + i; } 另请参见 ++ (递增) -- (递减) for..in var
2.    for..in
可用性 Flash Player 5 。用法 for(v ariableIterant in object ){ statement(s); }
参数 variableIterant 作为迭代变量的变量名,引用数组中对象或元素的每个属性。 object 要重复的对象的名称。
statement(s) 要为每次迭代执行的指令。返回无。说明动作;循环通过数组中对象或元素的属性,并为对象的每个属性执行 statement
。一些属性无法用 for 或 for..in 动作进行枚举。例如, Array 对象的内置方法( Array.sort 和)不包括在 Array
对象的枚举中,而影片剪辑属性,如 _x 和 _y ,也不能枚举。 for..in 结构迭代所迭代对象的原型链中对象的属性。如果 child 的原型为
parent ,则用 for..in 迭代 child 的属性,也将迭代 parent 的属性。 for..in
动作枚举对象原型链中的所有对象。首先枚举该对象的属性,接着枚举其直接原型的属性,然后枚举该原型的原型的属性,依次类推。 for..in
动作对于同一属性名不枚举两次。如果对象 child 具有原型 parent ,而这两个对象都包含属性 prop ,则对 child 调用的
for..in 动作枚举来自 child 的 prop ,而忽略 parent 中的该属性。示例下面的示例使用 for..in 迭代某对象的属性:
myObject = { name:\'Tara\', age:27, city:\'San Francisco\' }; for (name in
myObject) { trace ("myObject." + name + " = " + myObject[name]); }
此示例的输出如下所示: myObject.name = Tara myObject.age = 27 myObject.city = San
Francisco 下面的示例将 typeof 运算符与 for..in 一起使用来迭代特定类型的 child : for (name in
myMovieClip) {if (typeof (myMovieClip[name]) = "movieclip") { trace ("I
have a movie clip child named " + name); } }
下面的示例枚举影片剪辑的子级,并将每个子级发送到其各自时间轴的第二帧。 RadioButtonGroup 影片剪辑是一个父级,它具有多个子级:
_RedRadioButton_ 、 _GreenRadioButton_ 和 _BlueRadioButton 。 for (var name
in RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2); }
3.    if
可用性 Flash Player 4 。用法 if( condition) { statement(s) ; } 参数 condition
计算结果为 true 或 false 的表达式。 statement(s) 如果或当条件的计算结果为 true
时要执行的指令。返回无。说明动作;对条件进行计算以确定影片中的下一步动作。如果条件为 true ,则 Flash 将运行条件后面花括号 ( {} )
内的语句。如果条件为 false ,则 Flash 跳过花括号内的语句,运行花括号后面的语句。使用 if
动作可在脚本中创建分支逻辑。示例在下面的示例中,括号内的条件对变量 name 进行计算以查看其是否具有文本值“ Erica
”。如果有,则运行花括号内的 play 动作。 if(name == "Erica"){ play(); } 示例下面的示例使用 if
动作计算用户何时释放影片中的可拖动对象。如果对象在拖动后 300 毫秒之内被释放,则条件的计算结果为 true
,并运行花括号内的语句。这些语句设置变量以存储对象的新位置、拖放对象的难易程度和拖放对象时的速度。 timePressed
变量也将被重置。如果对象在拖动后超过 300 毫秒之后被释放,则条件的计算结果为 false ,并且不运行任何语句。 if
(getTimer()was thrown. // what is the new location of this object? xNewLoc = this._x;
yNewLoc = this._y; // how hard did they throw it? xTravel = xNewLoc-xLoc;
yTravel = yNewLoc-yLoc; // setting the speed of the object depending on //
how far they travelled with it xInc = xTravel/2; yInc = yTravel/2;
timePressed = 0; } 另请参见 else
4.
可用性 Flash Player 4 。用法tch ( expression){ caseClause : [ defaultClause :] }
参数 expression 任意表达式。 caseClause 一个 case 关键字,其后跟着表达式、冒号和一组语句,如果在使用全等 ( ===
) 的情况下,此处的表达式与tch expression 参数相匹配,则执行这组语句。 defaultClause 一个 default
关键字,其后跟着如果这些 case 表达式都不与tch expression 参数全等 ( === )
匹配时要执行的语句。返回无。说明动作;创建动作脚本语句的分支结构。像 if 动作一样,tch 动作测试一个条件,并在条件返回 true
值时执行语句。示例在下面的示例中,如果 number 参数的计算结果为 1 ,则执行 case 1 后面的 trace 动作,如果 number
参数的计算结果为 2 ,则执行 case 2 后面的 trace 动作,依此类推。如果 case 表达式都不匹配 number 参数,则执行
default 关键字后面的 trace 动作。tch (number) { case 1: trace ("case 1 tested
true"); break; case 2: trace ("case 2 tested true"); break; case 3: trace
("case 3 tested true"); break; default: trace ("no case tested true") }
在下面的示例中,第一个 case 组中没有 break ,因此如果 number 为 1 ,则 A 和 B 都被发送到输出窗口:tch
(number) { case 1: trace ("A"); case 2: trace ("B"); break; default trace
("D") } 另请参见 === (全等) break case default if
5.    while
可用性 Flash Player 4 。用法 while( condition ) { statement(s) ; } 参数 condition
每次执行 while 动作时都要重新计算的表达式。如果该语句的计算结果为 true ,则运行 statement(s) 。 statement(s)
条件的计算结果为 true 时要执行的代码。返回无。说明动作;测试表达式,只要该表达式为 true
,就重复运行循环中的语句或语句序列。在运行语句块之前,首先测试 condition ;如果该测试返回 true ,则运行该语句块。如果该条件为
false ,则跳过该语句块,并执行 while
动作语句块之后的第一条语句。通常当计数器变量小于某指定值时,使用循环执行动作。在每个循环的结尾递增计数器的值,直到达到指定值为止。此时,
condition 不再为 true ,且循环结束。 while 语句执行下面一系列步骤。步骤 1 至 4
的每次重复叫做循环的“迭代”。在每次迭代的开始重新测试 condition ,如下面的步骤所述: 1 计算表达式 condition 。 2 如果
condition 的计算结果为 true ,或者一个可转换为布尔值 true 的值(比如一个非零数字),则转到步骤 3 。否则, while
语句结束,并从 while 循环之后的下一语句恢复执行过程。 3 运行语句块 statement(s) 。 4 转到步骤 1
。示例此示例在舞台上复制五个影片剪辑,每个影片剪辑具有随机生成的、位置; xscale 、 yscale 以及 _alpha 属性以达到分散的效果。
. 变量 foo 初始化为值 0 。设置 condition 参数使 while 循环运行五次,即只要变量 foo 的值小于 5 就运行。在
while 循环中,复制影片剪辑,并使用 setProperty 调整所复制影片剪辑的各种属性。循环的最后一条语句递增 foo ,以便当该值达到 5
时, condition 参数计算结果为 false ,从而不再执行该循环。 on(release) { foo = 0; while(foo <
5) { duplicateMovieClip("_root.flower", "mc" + foo, foo); setProperty("mc"
+ foo, _x, random(275)); setProperty("mc" + foo, _y, random(275));
setProperty("mc" + foo, _alpha, random(275)); setProperty("mc" + foo,
_xscale, random(200)); setProperty("mc" + foo, _yscale, random(200));
foo++; } } 另请参见 do while continue for for..in
4.
可用性 Flash Player 4 。用法tch ( expression){ caseClause : [ defaultClause :] }
参数 expression 任意表达式。 caseClause 一个 case 关键字,其后跟着表达式、冒号和一组语句,如果在使用全等 ( ===
) 的情况下,此处的表达式与tch expression 参数相匹配,则执行这组语句。 defaultClause 一个 default
关键字,其后跟着如果这些 case 表达式都不与tch expression 参数全等 ( === )
匹配时要执行的语句。返回无。说明动作;创建动作脚本语句的分支结构。像 if 动作一样,tch 动作测试一个条件,并在条件返回 true
值时执行语句。示例在下面的示例中,如果 number 参数的计算结果为 1 ,则执行 case 1 后面的 trace 动作,如果 number
参数的计算结果为 2 ,则执行 case 2 后面的 trace 动作,依此类推。如果 case 表达式都不匹配 number 参数,则执行
default 关键字后面的 trace 动作。tch (number) { case 1: trace ("case 1 tested
true"); break; case 2: trace ("case 2 tested true"); break; case 3: trace
("case 3 tested true"); break; default: trace ("no case tested true") }
在下面的示例中,第一个 case 组中没有 break ,因此如果 number 为 1 ,则 A 和 B 都被发送到输出窗口:tch
(number) { case 1: trace ("A"); case 2: trace ("B"); break; default trace
("D") } 另请参见 === (全等) break case default if
5.    while
可用性 Flash Player 4 。用法 while( condition ) { statement(s) ; } 参数 condition
每次执行 while 动作时都要重新计算的表达式。如果该语句的计算结果为 true ,则运行 statement(s) 。 statement(s)
条件的计算结果为 true 时要执行的代码。返回无。说明动作;测试表达式,只要该表达式为 true
,就重复运行循环中的语句或语句序列。在运行语句块之前,首先测试 condition ;如果该测试返回 true ,则运行该语句块。如果该条件为
false ,则跳过该语句块,并执行 while
动作语句块之后的第一条语句。通常当计数器变量小于某指定值时,使用循环执行动作。在每个循环的结尾递增计数器的值,直到达到指定值为止。此时,
condition 不再为 true ,且循环结束。 while 语句执行下面一系列步骤。步骤 1 至 4
的每次重复叫做循环的“迭代”。在每次迭代的开始重新测试 condition ,如下面的步骤所述: 1 计算表达式 condition 。 2 如果
condition 的计算结果为 true ,或者一个可转换为布尔值 true 的值(比如一个非零数字),则转到步骤 3 。否则, while
语句结束,并从 while 循环之后的下一语句恢复执行过程。 3 运行语句块 statement(s) 。 4 转到步骤 1
。示例此示例在舞台上复制五个影片剪辑,每个影片剪辑具有随机生成的、位置; xscale 、 yscale 以及 _alpha 属性以达到分散的效果。
. 变量 foo 初始化为值 0 。设置 condition 参数使 while 循环运行五次,即只要变量 foo 的值小于 5 就运行。在
while 循环中,复制影片剪辑,并使用 setProperty 调整所复制影片剪辑的各种属性。循环的最后一条语句递增 foo ,以便当该值达到 5
时, condition 参数计算结果为 false ,从而不再执行该循环。 on(release) { foo = 0; while(foo <
5) { duplicateMovieClip("_root.flower", "mc" + foo, foo); setProperty("mc"
+ foo, _x, random(275)); setProperty("mc" + foo, _y, random(275));
setProperty("mc" + foo, _alpha, random(275)); setProperty("mc" + foo,
_xscale, random(200)); setProperty("mc" + foo, _yscale, random(200));
foo++; } } 另请参见 do while continue for for..in
六.      用户定义的函数 : 创建和调用函数的动作
1.    call
可用性 Flash Player 4 。在 Flash 5 中已不鼓励使用此动作,推荐改用 function 动作。用法 call( frame )
参数 frame
时间轴中帧的标签或编号。返回无。说明动作;执行被调用帧中的脚本,而不将播放头移动到该帧。一旦执行完该脚本,局部变量将不存在。另请参见
function
2.    function
可用性 Flash Player 5 。用法 function functionname ([ parameter0,
parameter1,...parameterN ]){ statement(s) } function ([ parameter0,
parameter1,...parameterN ]){ statement(s) } 参数 functionname
新函数的名称。一个标识符,表示要传递给函数的参数。这些参数是可选的。 statement(s) 为 function
的函数体定义的任何动作脚本指令。返回无。说明动作;您定义的用来执行特定任务的一组语句。可以在影片的一个地方“声明”或定义函数,然后从影片的其他脚本调用它。定义函数时,还可以为其指定参数。参数是函数要对其进行操作的值的占位符。每次调用函数时,可以向其传递不同的参数。这使您可以在不同场合重复使用一个函数。在函数的
statement(s) 中使用 return 动作可使函数返回或生成一个值。用法 1 :用指定的 functionname 、
parameters 和 statement(s) 声明一个 function
。当调用函数时,则调用函数声明。允许提前引用;在同一“动作”列表中,函数可以先调用后声明。一个函数的声明会替换同一函数以前的任何声明。只要是允许使用语句的地方就可使用此语法。用法
2 :创建一个匿名函数并返回它。此语法用于表达式中,对于在对象中安装方法尤其有用。示例用法 1 :下面的示例定义函数 sqr
,该函数接受一个参数并返回该参数的 square(x*x) 。请注意,如果在同一脚本中声明和使用函数,则可以先使用该函数,后声明它。
y=sqr(3); function sqr(x) { return x*x; } 用法 2 :下面的函数定义一个 Circle 对象:
function Circle(radius) { this.radius = radius; }
下面的语句定义一个匿名函数,该函数计算圆形的面积,并将其作为方法附加到对象 Circle : Circle.prototype.area =
function () {return Math.PI * this.radius * this.radius}
3.    return
可用性 Flash Player 5 。用法 return[ expression ] return 参数 expression
要作为函数值计算并返回的字符串、数字、数组或对象。此参数是可选的。返回如果提供了 expression
参数,则返回计算的结果。说明动作;指定由函数返回的值。 return 动作计算 expression 并将结果作为它在其中执行的函数的值返回。
return 动作导致函数停止运行,并用返回值代替函数。如果单独使用 return 语句,它返回 null 。示例下面的示例在 sum 函数体内使用
return 动作,以返回三个参数相加后的值。下一行代码调用 sum 函数并将返回值赋予变量 newValue : function sum(a,
b, c){ return a + b + c; } newValue = sum(4, 32, 78); trace(newValue); //
sends 114 to the Output window 另请参见 function
七.        其他动作 : 其他动作
1.    #endinitclip
可用性 Flash Player 6 。用法 #endinitclip 参数无。返回无。说明动作;指示组件初始化动作块的结尾。示例
#initclip ...component initialization actions go here... #endinitclip 另请参见
#initclip
2.    #include
可用性暂缺用法 #include " filename.as " 参数 filename.as 要添加到“动作”面板的脚本的文件名; .as
是推荐使用的文件扩展名。返回无。说明动作;包括当测试、发布或导出影片时参数中指定的文件的内容。当您进行测试、发布或导出时, #include
动作将被调用。当执行语法检查时,将检查 #include 动作。
3.    #initclip
可用性 Flash Player 6 。用法 #initclip order 参数 order 一个整数,指定 #initclip
代码块的执行顺序。这是一个可选参数。说明动作;指示组件初始化动作块的开始。当同时初始化多个剪辑时,您可以使用 order
参数来指定先执行哪个初始化动作。在定义影片剪辑元件时,执行组件初始化动作。如果影片剪辑是导出的元件,则组件初始化动作将在执行
文件第一帧上的动作之前执行。否则,组件初始化动作将在一特定帧(该帧包含关联影片剪辑元件的第一个实例)的帧动作脚本之前立即执行。组件初始化动作在影片播放过程中仅执行一次,您应将这些动作用于一次性的初始化动作,例如类定义和注册。示例下面的示例代码分配给一个影片的第一帧,该影片为复选框组件。
#initclip 和 #endinitclip 动作将它们所包含的语句块指定为组件初始化动作。这些所包含的语句注册类,并将方法存储在原型对象中。
#initclip if (typeof(CheckBox) == "undefined") { // Define constructor for
(and thus define) CheckBox class function CheckBox() { // Set up our data
bindings this.watch (\'value\', function (id, oldval, newval) { ... };
this.watch (\'label\', function (id, oldval, newval) { ... }; } // Set
CheckBox prototype chain to inherit from MovieClip CheckBox.prototype =
new MovieClip(); // Register CheckBox as the class for symbol "Check Box"
Object.registerClass("Check Box", CheckBox); // Set up some methods
CheckBox.prototype.enable = function () { ... }; CheckBox.prototype.show =
function () { ... }; CheckBox.prototype.hide = function () { ... }; // Set
up a convenience function to instantiate // check boxes CheckBox.create =
function (parentMovieClip, instanceName, depth) {
parentMovieClip.attachMovie("CheckBox", instanceName, depth); }; }
#endinitclip 如果您拷贝此代码并将其粘贴到“动作”面板中,则在编译该脚本时,它将因为未定义的函数 ( {...} ) 而产生错误另请参见
#endinitclip
4.    clearInterval
可用性 Flash Player 6 。用法 clearInterval( intervalID ) 参数 intervalID 调用
setInterval 函数后返回的对象。返回无。说明动作;清除对 setInterval
函数的调用。示例下面的示例首先设置一个间隔调用,然后将其清除: function callback() { trace("interval
called"); } var intervalID; intervalID = setInterval( callback, 1000 ); //
sometime later clearInterval( intervalID ); 另请参见 setInterval
// (注释分隔符)可用性 Flash 1 。用法 // comment 参数 comment
任何字符。返回无。说明注释;指示脚本注释的开始。任何出现在注释分隔符 //
和行结束符之间的字符都被动作脚本解释程序解释为注释并忽略。示例此脚本使用注释分隔符将第一、第三、第五和第七行标识为注释。 // record the
X position of the ball movie clip ballX = ball._x; // record the Y
position of the ball movie clip ballY = ball._y; // record the X position
of the bat movie clip batX = bat._x; // record the Y position of the bat
movie clip batY = bat._y; /* (注释分隔符)可用性 Flash Player 5 。用法 /* comment */
/* comment comment */ 参数 comment 任何字符。返回无。说明 注释;指示一行或多行脚本注释。任何出现在注释开始标签 /*
和注释结束标签 */
之间的字符都被动作脚本解释程序解释为注释并忽略。第一种语法类型用于标识单行注释。第二种语法类型用于标识连续多行注释。在使用注释分隔符的这种格式时,不使用结束标签
*/ 会返回一个错误信息。示例此脚本在脚本的开头使用注释分隔符。 /* records the X and Y positions of the
ball and bat movie clips */ ballX = ball._x; ballY = ball._y; batX =
bat._x; batY = bat._y; 另请参见 // (注释分隔符)
6.    trace
可用性 Flash Player 4 。用法 trace( expression ) 参数 expression 要计算的表达式。当在 Flash
创作工具中使用“测试影片”命令打开 文件时, expression 参数的值显示在输出窗口中。返回无。说明动作;在测试模式下,计算
expression 并在输出窗口中显示结果。在测试影片时,使用 trace 在输出窗口中记录编程注释或显示消息。使用 expression
参数检查是否存在某种条件,或是在输出窗口中显示值。 trace 动作类似于 JavaScript 中的 alert 函数。可以使用“发布设置”中的
Omit Trace (省略 Trace )动作命令从导出的 文件中删除 trace 动作。示例此示例来自一个游戏,在该游戏中名为 rabbi
的可拖动影片剪辑实例必须在特定目标上释放。使用一个条件语句计算 _droptarget 属性并根据 rabbi
的释放位置执行不同的动作。在脚本的末尾使用 trace 动作计算 rabbi 影片剪辑的位置,并在输出窗口中显示结果。如果 rabbi
的行为与预期的不一样(例如,如果它靠近错误的目标),则由 trace 动作发送到输出窗口的值将帮助您确定脚本中的问题。 on(press) {
rabbi.startDrag(); } on(release) { if(eval(_droptarget) != target) {
rabbi._x = rabbi_x; rabbi._y = rabbi_y; } else { rabbi_x = rabbi._x;
rabbi_y = rabbi._y; target = "_root.pasture"; } trace("rabbi_y = " +
rabbi_y); trace("rabbi_x = " + rabbi_x); stopDrag(); }
八.        运算符 : 在表达式中使用的运算符(一)
1.    " " (字符串分隔符)
可用性 Flash Player 4 。用法 " text " 参数 text
一个字符。返回无。说明字符串分隔符;当用于字符的前后时,引号指示这些字符具有字面表示的值,被视作一个“字符串”,而不是一个变量、数值或其他动作脚本元素。示例此示例使用引号指示变量
yourGuess 的值是文本字符串“ Prince Edward Island ”,而不是变量名。 province
的值是一个变量,而不是文本;要确定 province 的值,必须找出 yourGuess 的值。 yourGuess = "Prince
Edward Island"; on(release){ province = yourGuess trace(province); } //
displays Prince Edward Island in the Output window 另请参见 String (函数)
2.    () (括号)
可用性 Flash Player 4 。用法 ( expression1, expression2 ); function (
parameter1,..., parameterN ); 参数 expression1 、 expression2 数字、字符串、变量或文本。
function
要对括号中的内容执行的函数。一系列参数,在将其结果作为参数传递给括号外的函数之前执行这些参数。返回无。说明运算符;对一个或多个参数执行分组运算,或者括住一个或多个参数并将它们作为参数传递给括号外的函数。用法
1
:控制表达式中运算符的执行顺序。括号覆盖正常的优先级顺序,从而导致先计算括号内的表达式。如果括号是嵌套的,则先计算最里面括号中的内容,然后计算较靠外括号中的内容。用法
2 :括住一个或多个参数并将它们作为参数传递给括号外的函数。示例用法 1
:下面的语句举例说明用括号控制表达式执行顺序的方法。每个表达式的值显示在每行的下面,如下所示: trace((2 + 3) * (4 + 5));
// displays 45 trace(2 + (3 * (4 + 5))); // displays 29 trace(2 + (3 * 4)
+ 5); // displays 19 用法 2 :下面的示例举例说明将括号与函数协同使用的方法。 getDate();
invoice(item, amount); function traceParameter(param){ trace(param); }
traceParameter(2*2); 另请参见 with
按位运算符 : 对位进行操作的运算符(AND、OR、XOR 等等)
3.    & (按位 AND )
可用性 Flash Player 5 。在 Flash 4 中, & 运算符用于连接字符串。在 Flash 5 中, & 运算符是一个按位 AND
运算符,因此必须使用 add 和 + 运算符来连接字符串。使用 & 运算符的 Flash 4 文件在引入 Flash 5 创作环境时自动更新为使用
add 。用法 expression1 & expression2 参数无。返回无。说明运算符(按位);将 expression1 和
expression2 转换为 32 位无符号整数,并对这些整数参数的每一位执行布尔 AND 运算。结果是一个新的 32 位无符号整数。
4.    ~ (按位 NOT )
可用性 Flash Player 5 。用法 ~ expression 参数 expression 数字。返回无。说明运算符(按位);将
expression 转换为 32 位无符号整数,然后对这些位进行求反。按位 NOT 运算更改数字的符号然后减 1
。示例下面的示例说明对一个变量执行按位 NOT 运算。 a = 0; trace ("when a = 0, ~a = "+~a); // when
a = 0, ~a = -1 a = 1; trace ("when a = 1, ~a = "+~a); // when a = 0, ~a =
-2 // therefore, ~0=-1 and ~1=-2
5.    | (按位 OR )
可用性 Flash Player 5 。用法 expression1 | expression2 参数 expression1 、
expression2 数字。返回无。说明运算符(按位);将 expression1 和 expression2 转换为 32
位无符号整数,然后对于 expression1 或 expression2 的相应位为 1 的每一位返回 1 。示例下面是一个按位 OR
运算的示例。 // 15 decimal = 1111 binary x = 15; // 9 decimal = 1001 binary y =
9; trace(x | y); // 1111 | 0011 = 1111 // returns 15 decimal (= 1111
binary)
^ (按位 XOR )可用性 Flash Player 5 。用法 expression1 ^ expression2 参数 expression1
、 expression2 数字。返回无。说明运算符(按位);将 expression1 和 expression2 转换为 32
位无符号整数,然后对于 expression1 或者 expression2 中相应位为 1 且不同时为 1 的每一位,返回 1
。示例下面的示例对十进制的 15 和 9 使用按位 XOR 运算符,然后将结果赋予变量 x 。 // 15 decimal = 1111
binary // 9 decimal = 1001 binary x = 15 ^ 9 trace(x) // 1111 ^ 1001 =
0110 // returns 6 decimal( = 0110 binary)
6.    << (按位向左移位)
可用性 Flash Player 5 。用法 expression1 << expression2 参数 expression1
要向左移位的数字或表达式。 expression2 将转换为从 0 到 31 之间整数的数字或表达式。返回无。说明运算符(按位);将
expression1 和 expression2 转换为 32 位整数,然后将 expression1 中的所有位向左移一定的位数,该位数由
expression2 转换而来的整数指定。由于此运算的结果而被清空的位上则填补 0 。将一个值向左移一位等效于将它乘以 2
。示例在下面的示例中,将整数 1 向左移 10 位。 x = 1 << 10 此运算的结果为 x = 1024 。这是因为十进制的 1 等于二进制的
1 ,二进制的 1 向左移 10 位是二进制的 10000000000 ,而二进制的 10000000000 就是十进制的 1024
。在下面的示例中,将整数 7 向左移 8 位。 x = 7 << 8 此运算的结果为 x = 1792 。这是因为十进制的 7 等于二进制的 111
,二进制的 111 向左移 8 位是二进制的 11100000000 ,而二进制的 11100000000 就是十进制的 1792 。另请参见
>>= (按位向右移位并赋值) >> (按位向右移位) <<= (按位向左移位并赋值)
7.    >> (按位向右移位)
可用性 Flash Player 5 。用法 expression1 >> expression2 参数 expression1
要向右移位的数字或表达式。 expression2 将转换为从 0 到 31 之间整数的数字或表达式。返回无。说明运算符(按位);将
expression1 和 expression2 转换为 32 位整数,然后将 expression1 中的所有位向右移一定位数,该位数由
expression2 转换而来的整数指定。移到右侧的位被去掉。若要保留原 expression 的符号,则如果 expression1
的最高有效位(最左端的位)为 0 ,那么左侧的位都填补 0 ;如果最高有效位为 1 ,那么左侧的位都填补 1 。将一个值右移一位等效于将它除以 2
并去掉余数。示例下面的示例将 65535 转换为 32 位整数,然后右移 8 位。 x = 65535 >> 8 上述运算的结果如下所示: x =
255 这是因为十进制的 65535 等于二进制的 1111111111111111 ( 16 个 1 ),二进制的
1111111111111111 向右移 8 位是二进制的 11111111 ,而二进制的 11111111 是十进制的 255 。因为这个整数是
32 位的,最高有效位为 0 ,所以用 0 来填补位。下面的示例将 -1 转换为 32 位整数,然后右移 1 位。 x = -1 >> 1
上述运算的结果如下所示: x = -1 这是因为十进制的 -1 等于二进制的 11111111111111111111111111111111 (
32 个 1 ),向右移一位使得最低有效位(最右侧的位)被去掉而最高有效位被填补上 1 。结果为二进制的
11111111111111111111111111111111 ( 32 个 1 ),表示 32 位整数 -1 。另请参见 >>=
(按位向右移位并赋值)
8.    >>> (按位无符号向右移位)
可用性 Flash Player 5 。用法 expression1 >>> expression2 参数 expression1
要向右移位的数字或表达式。 expression2 将转换为从 0 到 31
之间整数的数字或表达式。返回无。说明运算符(按位);除了由于左侧的位总是填补 0 而不保留原 expression 的符号外,该运算符与按位向右移位
( >> ) 运算符相同。示例下面的示例将 -1 转换为 32 位整数,然后右移 1 位。 x = -1 >>> 1 上述运算的结果如下所示: x
= 2147483647 这是因为十进制的 -1 是二进制的 11111111111111111111111111111111 ( 32 个 1
),当向右(无符号)移 1 位时,最低有效位(最右端的位)被去掉,而最高有效位(最左端的位)被填补上 0 。结果为二进制的
01111111111111111111111111111111 ,表示 32 位整数 2147483647 。另请参见 >>=
(按位向右移位并赋值)
比较运算符 : 执行比较的运算符
9.    != (不等于)
可用性 Flash Player 5 。用法 expression1 != expression2 参数无。返回无。说明运算符(不等于);测试结果与
== 运算符正好相反。如果 expression1 与 expression2 相等,则结果为 false 。与 ==
运算符一样,的定义取决于所比较的数据类型。 - 数字、字符串和布尔值按值进行比较。 - 变量、对象、数组和函数按引用进行比较。示例下面举例说明 !=
运算符的结果: 5 != 8 返回 true 5 != 5 返回 false 此示例说明在 if 语句中 != 运算符的用法。 a =
"David"; b = "Fool" if (a != b){ trace("David is not a fool"); } 另请参见 !==
(不全等) == (等于) === (全等)
10.              !== (不全等)
可用性 Flash Player 6 。用法 expression1 !== expression2 说明运算符;测试结果与 ===
运算符正好相反。除了不转换数据类型外,不全等运算符执行的运算与不等于运算符相同。如果 expression1 等于 expression2
,而且它们的数据类型也相同,则结果为 false 。与 === 运算符一样,的定义取决于所比较的数据类型。 - 数字、字符串和布尔值按值进行比较。
- 变量、对象、数组和函数按引用进行比较。示例下面的代码显示使用等于、全等和不全等运算符的运算所返回的值。 s1 = new
String("5"); s2 = new String("5"); s3 = new String("Hello"); n = new
Number(5); b = new Boolean(true); s1 == s2; // true s1 == s3; // false s1
== n; // true s1 == b; // false s1 === s2; // true s1 === s3; // false s1
=== n; // false s1 === b; // false s1 !== s2; // false s1 !== s3; // true
s1 !== n; // true s1 !== b; // true 另请参见 != (不等于) == (等于) === (全等)
【end】