分享

中小学教育资源站

 bubu梦之地 2009-11-15
一、      影片控制
      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. ),则需要网络连接。示例此示例将一个新 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./Article/UploadFiles/200708/20070828061932521.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.      delete
      可用性 Flash Player 5 。用法 delete reference 参数 reference
      要消除的变量或对象的名称。返回无。说明运算符;销毁由 reference 参数指定的对象或变量,如果该对象被成功删除,则返回 true ;否则返回
      false 值。该运算符对于释放脚本所用的内存非常有用。虽然 delete 是一个运算符,但它通常作为语句使用,如下所示: delete x; 如果
      reference 参数不存在,或者不能被删除,则 delete 运算符可能失败并返回 false 。预定义的对象和属性以及由 var
      声明的变量不能删除。不能使用 delete 运算符删除影片剪辑。示例下面的示例创建一个对象并使用它,然后在不再需要时删除它。 account =
      new Object(); account.name = \'Jon\'; account.balance = 10000; delete
      account; 示例下面的示例删除对象的一个属性。 // create the new object "account" account =
      new Object(); // assign property name to the account account.name =
      \'Jon\'; // delete the property delete account.name; 示例下面是删除对象属性的另一个示例。 //
      create an Array object with length 0 array = new Array(); // Array.length
      is now 1 array[0] = "abc"; // add another element to the
      array,Array.length is now 2array[1] = "def"; // add another element to
      array,Array.length is now 3 array[2] = "ghi"; // array[2] is deleted, but
      Array.length is not changed, delete array[2]; 下面的示例阐释了 delete 对于对象引用的行为方式:
      // create a new object, and assign the variable ref1 // to refer to the
      object ref1 = new Object(); ref1.name = "Jody"; // copy the reference
      variable into a new variable // and delete ref1 ref2 = ref1; delete ref1;
      如果 ref1 尚未拷贝到 ref2 中,则当删除 ref1 时,该对象将被删除,因为将没有指向它的引用。如果删除 ref2
      ,则不再有指向该对象的任何引用,该对象将被销毁,同时释放它所使用的内存。另请参见 var 2/2
      2.      set variable
      可用性 Flash Player 4 。用法 set( variable , expression ) 参数 variable 保存
      expression 参数值的标识符。 expression 分配给变量的值。返回无。说明动作;为变量赋值。 variable
      是保存数据的容器。容器本身始终不变,但内容可以更改。通过在影片播放时更改变量的值,可以记录和保存有关用户所执行操作的信息;记录当影片播放时更改的值;或者计算某条件是
      true 还是 false
      。变量可以保存任何类型的数据(例如,字符串、数字、布尔值、对象或影片剪辑)。每个影片和影片剪辑的时间轴都有其自己的变量集,每个变量又都有其自己独立于其他时间轴上的变量的值。动作脚本是一种动态类型化语言。每个变量都有一种类型。该类型是在运行时分配的,并且可以在执行过程中进行更改。这一点与静态类型化语言(如
      Java 或 C++ )不同,在静态类型化语言中,在编译时分配类型,而且在运行时无法更改。示例此示例设置一个名为 orig _ x_pos
      的变量,该变量存储 ship 影片剪辑的原始轴位置,以便以后在影片中将船 (ship) 重置到其起始位置。 on(release) {
      set(orig_x_pos, getProperty ("ship", _x )); } 上面的代码与下面的代码结果一样: on(release)
      { orig_x_pos = ship._x; } 另请参见 var call 1/1
      3.      var
      可用性 Flash Player 5 。用法 var variableName1 [= value1 ][..., variableNameN [=
      valueN ]] 参数 variableName 标识符。 value
      分配给变量的值。返回无。说明动作;用于声明局部变量。如果在函数内声明局部变量,那么变量就是为该函数定义的,且在该函数调用结束时到期。如果变量不是在块
      ( {} ) 内声明的,但使用 call 动作执行该动作列表,则该变量为局部变量,且在当前列表结束时到期。如果变量不是在块中声明的,且不使用
      call 动作执行当前动作列表,则这些变量不是局部变量。示例下面的示例使用 var 动作声明和分配变量: var x; var y = 1; var
      z = 3, w = 4; var s, t, u = z; 1/1
      4.      with
      可用性 Flash Player 5 。用法 with ( object ) { statement(s) ; } 参数 object
      动作脚本对象或影片剪辑的实例。 statement(s) 花括号中包含的动作或一组动作。返回无。说明动作;允许您使用 object
      参数指定一个对象(比如影片剪辑),并使用 statement(s) 参数计算对象中的表达式和动作。这可以使您不必重复书写对象的名称或路径。
      object 参数成为读取 statement(s) 参数中的属性、变量与函数的上下文。例如,如果 object 为 myArray
      ,且指定属性中的两个是 length 与 concat ,则这些属性将自动作为 myArray . length 与 myArray.concat
      进行读取。在另一个示例中,如果 object 为 state.california ,则 with 动作中的任何动作或语句将从 california
      实例中调用。若要查找 statement(s) 参数中某标识符的值,动作脚本将从 object
      指定的范围链的开头开始查找,并以特定的顺序在范围链的每个级别中搜索该标识符。 with
      动作使用范围链解析标识符,该范围链从下面列表中的第一项开始,一直到最后一项结束: - 在 with 动作最里面的 object 参数中指定的对象。
      - 在 with 动作最外面的 object 参数中指定的对象。 -
      激活的对象。(当调用函数时自动创建的临时对象,该函数包含函数所调用的局部变量。) - 包含当前执行脚本的影片剪辑。 - 全局对象(诸如 Math 与
      String 的内置对象)。若要在 with 动作中设置变量,该变量必须已在 with
      动作外部进行了声明,或者您必须输入该变量所生存时间轴的完整路径。如果未声明该变量就在 with 动作中设置它,则该 with
      动作将根据范围链寻找该值。如果该变量还不存在,则将在调用 with 动作的时间轴上设置此新值。在 Flash 5 中, with 动作替换了被否决的
      tellTarget 动作。建议您使用 with 而不使用 tellTarget ,因为前者是对 ECMA-262 标准的一个标准动作脚本扩展功能。
      with 与 tellTarget 动作的主要差异在于 with 采用对影片剪辑或其他对象的引用作为其参数,而 tellTarget
      采用标识影片剪辑的目标路径字符串作为其参数,且不能用于指向对象。示例下面的示例设置 someOtherMovieClip 实例的 x 与 y
      属性,然后指示 someOtherMovieClip 转到第三帧并停止。 1/2with (someOtherMovieClip) { _x =
      50; _y = 100; gotoAndStop(3); } 下面的代码片断显示如何不使用 with 动作编写前面的代码。
      someOtherMovieClip._x = 50; someOtherMovieClip._y = 100;
      someOtherMovieClip.gotoAndStop(3); 还可使用 tellTarget 动作编写这段代码。然而,如果
      someOtherMovieClip 不是影片剪辑,而是一个对象,则不能使用 with 动作。 tellTarget
      ("someOtherMovieClip") { _x = 50; _y = 100; gotoAndStop(3); } with
      动作对于在范围链列表中同时访问多项十分有用。在下面的示例中,内置 Math 对象被放置在范围链的前面。将 Math 设置为默认对象可以将标识符
      cos 、 sin 与 PI 分别解析为、 Math.sin 与 Math.PI 。标识符 a 、 x 、 y 与 r 不是 Math
      对象的方法或属性,但由于它们存在于函数 polar 的对象激活范围中,所以将它们解析为相应的局部变量。 function polar(r) {
      var a, x, y; with (Math) { a = PI * r * r; x = r * cos(PI); y = r *
      sin(PI/2); } trace("area = " +a); trace("x = " + x); trace("y = " + y); }
      可以使用嵌套的 with 动作访问多重范围中的信息。在下面的示例中,实例 fresno 与实例 salinas 是实例 california
      的子级。该语句设置 fresno 与 salinas 的 _alpha 值,且不改变 california 的 _alpha 值。 with
      (california){ with (fresno){ _alpha = 20; } with (salinas){ _alpha = 40; }
      } 另请参见 tellTarget 2/2
         --        五.      条件/循环 : 条件语句和循环构造(一)
      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<leftBound) { this._x = leftBound; xInc = -xInc; } else if
      (this._y>bottomBound) { this._y = bottomBound; yInc = -yInc; } else if
      (this._y<topBound) { this._y = topBound; yInc = -yInc; }
五.      条件/循环 : 条件语句和循环构造(二)
      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()<timePressed+300) { // if the condition is true, // the object
      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
六.     用户定义的函数 : 创建和调用函数的动作
      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; 另请参见 // (注释分隔符)
      5.   setInterval
      可用性 Flash Player 6 。用法 setInterval( function , interval [, arg1 , arg2 ,
      ..., argn ] ) setInterval( object , methodName , interval [, arg1 , arg2 ,
      ..., argn ] ) 参数 function 一个函数名或者一个对匿名函数的引用。 object 从 Object 对象派生的对象。
      methodName 要对 object 参数调用的方法的名称。 interval 对 function 或 methodName
      参数的两次调用之间的时间,以毫秒为单位。 arg1 、 arg2 ... argn 可选参数,将传递给 function 或 methodName
      参数。返回间隔标识符,可以将该标识符传递给 clearInterval
      以取消该间隔。说明动作;在播放影片时,每隔一定的时间间隔,就调用函数、方法或对象。可以使用间隔函数更新来自数据库的变量或更新时间显示。如果
      interval 小于影片帧频(例如,每秒 10 帧 (10 fps) 相当于 100 毫秒),则按照尽可能接近 interval
      的时间间隔调用间隔函数。而且必须使用 updateAfterEvent 函数来确保以足够的频率刷新屏幕。如果 interval
      大于影片帧频,则只有在每次播放头进入帧时才调用该间隔函数,以便最小化每次刷新屏幕时的影响。上述的第一种语法示例是标准模式下“动作”面板中
      setInterval 函数的默认语法。若要使用第二种语法示例,必须在专家模式下使用“动作”面板。示例用法 1 :下面的示例每隔 1000
      毫秒(每隔 1 秒)调用一次匿名函数。 setInterval( function(){ trace("interval called"); },
      1000 ); 用法 2 :下面的示例定义两个回调函数并分别调用它们。对 setInterval 函数的两次调用的结果都是每隔 1000
      毫秒就向输出窗口发送字符串。对 setInterval 的第一个调用将调用 callback1 函数,该函数包含 trace 动作。对
      setInterval 的第二个调用将字符串作为参数传递给函数 callback2 。 function callback1() {
      trace("interval called"); } function callback2(arg) { trace(arg); }
      setInterval( callback1, 1000 ); setInterval( callback2, 1000, "interval
      called" ); 用法 3 :此示例使用对象的方法。当要调用为对象定义的方法时,必须使用此语法。只能在专家模式下使用此语法。 obj = new
      Object(); obj.interval = function() { trace("interval function called"); }
      setInterval( obj, "interval", 1000 ); obj2 = new Object(); obj2.interval =
      function(s) { trace(s); } setInterval( obj2, "interval", 1000, "interval
      function called" ); 必须使用第二种格式的 setInterval 语法来调用对象的方法,如下所示: setInterval(
      obj2, "interval", 1000, "interval function called" ); 另请参见 clearInterval
      updateAfterEvent
      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 另请参见 != (不等于) == (等于) === (全等)             --        八.      运算符 : 在表达式中使用的运算符(二)       1.   < (小于)
      可用性 Flash Player 4 ; Flash Player 5 。在 Flash 5 中, <
      (小于)运算符是能够处理各种数据类型的比较运算符。在 Flash 4 中, < 是数值运算符。将 Flash 4 文件引入 Flash 5
      创作环境中,必须经过一个转换过程以维护数据类型的完整性。下面举例说明对包含数值比较的 Flash 4 文件的转换过程。 Flash 4 文件: x
      < y 转换后的 Flash 5 文件: Number(x) < Number(y) 用法 expression1 < expression2 参数
      expression1 、 expression2 数字或字符串。说明运算符(比较);比较两个表达式以确定 expression1 是否小于
      expression2 ;如果是,则该运算符返回 true 。如果 expression1 大于或等于 expression2 ,则该运算符返回
      false 。使用字母顺序计算字符串表达式;所有的大写字母排在小写字母的前面。示例下面的示例举例说明数数值比较和字符串比较所返回的 true 和
      false 。 3 < 10; // true 10 < 3; // false "Allen" < "Jack"; // true "Jack"
      < "Allen"; // false "11" < "3"; //true "11" < 3; // numeric comparison //
      false "C" < "abc"; // false "A" < "a"; // true
      2.   <= (小于等于)
      可用性 Flash Player 4 。 Flash 4 文件: x <= y 转换后的 Flash 5 文件: Number(x) <=
      Number(y) 用法 expression1 <= expression2 参数 expression1 、 expression2
      数字或字符串。返回无。说明运算符(比较);比较两个表达式以确定 expression1 是否小于等于 expression2
      ;如果是,则该运算符返回 true 。如果 expression1 大于 expression2 ,则该运算符返回 false
      。使用字母顺序计算字符串表达式;所有的大写字母排在小写字母的前面。在 Flash 5 中,小于等于 ( <= )
      运算符是能够处理各种数据类型的比较运算符。而在 Flash 4 中, <= 是一个数值运算符。将 Flash 4 文件引入 Flash 5
      创作环境中,必须经过一个转换过程以维护数据类型的完整性。下面举例说明对包含数值比较的 Flash 4
      文件的转换过程。示例下面的示例举例说明比较数值和比较字符串的 true 和 false 结果: 5 <= 10; // true 2 <= 2;
      // true 10 <= 3; // false "Allen" <= "Jack"; // true "Jack" <= "Allen"; //
      false "11" <= "3"; //true "11" <= 3; // numeric comparison // false "C" <=
      "abc"; // false "A" <= "a"; // true
      3.   == (等于)
      可用性 Flash Player 5 。用法 expression1 == expression2 参数 expression1 、
      expression2 数字、字符串、布尔值、变量、对象、数组或函数。返回无。说明运算符(等于);测试两个表达式是否相等。如果表达式相等,则结果为
      true 。的定义取决于参数的数据类型: - 数字和布尔值按值进行比较,如果它们具有相同的值,则视为相等。 -
      对于字符串表达式,如果它们具有相同的字符数,而且这些字符都相同,则这些字符串表达式相等。 -
      变量、对象、数组和函数按引用进行比较。对于变量,如果两个变量引用相同的对象、数组或函数,则它们相等。而两个单独的数组即使具有相同数量的元素,也永远不会被视为相等。示例下面的示例将
      == 运算符与 if 语句协同使用: a = "David" , b = "David"; if (a == b){ trace("David is
      David"); } 示例这些示例显示比较混合类型的运算的结果。 x = "5"; y = "5"; trace(x == y); // true
      x = "5"; y = "66"; trace(x ==y); // false x = "chris"; y = "steve"; trace
      (x == y); //false 另请参见 != (不等于) === (全等) !== (不全等)
      4.   === (全等)
      可用性 Flash Player 6 。用法 expression1 === expression2
      说明运算符;测试两个表达式是否相等;除了不转换数据类型外,全等运算符执行的运算与等于运算符相同。如果两个表达式完全相等(包括它们的数据类型都相等),则结果为
      true 。的定义取决于参数的数据类型: - 数字和布尔值按值进行比较,如果它们具有相同的值,则视为相等。 -
      对于字符串表达式,如果它们具有相同的字符数,而且这些字符都相同,则这些字符串表达式相等。 -
      变量、对象、数组和函数按引用进行比较。对于变量,如果两个变量引用相同的对象、数组或函数,则它们相等。而两个单独的数组即使具有相同数量的元素,也永远不会被视为相等。示例下面的代码显示使用等于、全等和不全等运算符的运算所返回的值。
      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 另请参见 == (等于) != (不等于) === (全等)
      5.   >(大于)
      可用性 Flash Player 5 。用法 expression1 > expression2 参数 expression1 、
      expression2 整数、浮点数或字符串。返回无。说明运算符(比较);比较两个表达式并确定 expression1 是大于
      expression2 ( true ) ,还是 expression1 小于等于 expression2 ( false ) 。
      >= (大于等于)可用性 Flash Player 4 。 Flash 4 文件: x > y 转换后的 Flash 5 文件: Number(x)
      > Number(y) 用法 expression1 >= expression2 参数 expression1 、 expression2
      字符串、整数或浮点数。返回无。说明运算符(比较);比较两个表达式并确定 expression1 是大于等于 expression2 ( true )
      ,还是 expression1 小于 expression2 ( false ) 。在 Flash 5 中,大于等于 ( >)
      是能够处理各种数据类型的比较运算符。而在 Flash 4 中, > 是数值运算符。将 Flash 4 文件引入 Flash 5
      创作环境中,必须经过一个转换过程以维护数据类型的完整性。  
八.      运算符 : 在表达式中使用的运算符(三)
      赋值 : 执行变量赋值的运算符
      1.   -= (减法赋值)
      可用性 Flash Player 4 。用法 expression1 -= expression2 参数 expression1 、
      expression2 数字或计算结果为数字的表达式。返回无。说明运算符(算术组合赋值);将 expression1 - expression2
      的值赋予 expression1 。例如,下面两个语句是相同的: x -= y; x = x - y; 字符串表达式必须转换为数字,否则返回 NaN
      。示例下面的示例使用 -= 运算符从 5 中减去 10 ,然后将结果赋予变量 x 。 x = 5; y = 10; x -= y trace(x);
      //returns -5 示例下面的示例说明如何将字符串转换为数字。 x = "5"; y = "10"; x -= y; trace(x); //
      returns -5
      2.   %= (模赋值)
      可用性 Flash Player 4 。用法 expression1 %= expression2 参数无。返回无。说明运算符(算术复合赋值);将
      expression1 % expression2 的值赋予 expression1 。例如,下面两个表达式是相同的: x %= y x = x %
      y 示例下面的示例将值 4 赋予变量 x 。 x = 14; y = 5; trace(x %= y); // returns 4 另请参见 %
      (模)
      3.   &= (按位 AND 赋值)
      可用性 Flash Player 5 。用法 expression1 &= expression2 参数无。返回无。说明运算符(按位组合赋值);将
      expression1 & expression2 的值赋予 expression1 。例如,下面两个表达式是相同的。 x &= y x = x &
      y 示例下面的示例将值 9 赋予 x 。 x = 15; y = 9; trace(x &= y); // returns 9 另请参见 & (按位
      AND )
      4.   *= (相乘赋值)
      可用性 Flash Player 4 。用法 expression1 *= expression2 参数无。返回无。说明运算符(算术组合赋值);将
      expression1 * expression2 的值赋予 expression1 。例如,下面两个表达式是相同的: x *= y x = x *
      y 示例下面的示例将值 50 赋予变量 x 。 x = 5; y = 10; trace (x *= y); // returns 50
      示例以下示例的第二行和第三行计算等号右侧的表达式,然后将结果赋予 x 和 y 。 i = 5; x = 4 - 6; y = i + 2;
      trace(x *= y); // returns -14 另请参见 * (乘号)
      5.   |= (按位 OR 赋值)
      可用性 Flash Player 5 。用法 expression1 |= expression2 参数 expression1 、
      expression2 数字或变量。返回无。说明运算符(按位组合赋值);将 expression1 | expression2 的值赋予
      expression1 。例如,下面两个语句是相同的: x |= y; x = x | y; 示例下面的示例使用了 |= 运算符: // 15
      decimal = 1111 binary x = 15; // 9 decimal = 1001 binary y = 9; trace(x |=
      y); // 1111 |= 1001 // returns 15 decimal (= 1111 binary) 另请参见 | (按位 OR )
      /= (除赋值)可用性 Flash Player 4 。用法 expression1 /= expression2 参数 expression1 、
      expression2 数字或计算结果为数字的变量。返回无。说明运算符(算术组合赋值);将 expression1 / expression2
      的值赋予 expression1 。例如,下面两个语句是相同的: x /= y x = x / y 示例下面的代码举例说明如何将 /=
      运算符与变量和数字协同使用。 x = 10; y = 2; x /= y; // x now contains the value 5
      6.   ^= (按位 XOR 赋值)
      可用性 Flash Player 5 。用法 expression1 ^= expression2 参数 expression1 、
      expression2 整数和变量。返回无。说明运算符(按位组合赋值);将 expression1 ^ expression2 的值赋予
      expression1 。例如,下面两个语句是相同的: x ^= y x = x ^ y 示例下面是一个 ^= 运算的示例。 // 15
      decimal = 1111 binary x = 15; // 9 decimal = 1001 binary y = 9; trace(x ^=
      y); //returns 6 decimal ( = 0110 binary) 另请参见 ^ (按位 XOR )
      7.   += (加法赋值)
      可用性 Flash Player 4 。用法 expression1 += expression2 参数 expression1 、
      expression2 数字或字符串。返回无。说明运算符(算术组合赋值);将 expression1 + expression2 值赋予
      expression1 。例如,下面两个语句的结果是相同的: x += y; x = x + y; 此运算符也可以执行字符串连接运算。加法运算符
      (+) 的所有规则适用于加法赋值 (+=) 运算符。示例下面的示例显示 += 运算符的数值用法。 x = 5; y = 10; x += y;
      trace(x); //x returns 15 此示例对字符串使用 += 运算符,并将“ My name is Gilbert ”发送到输出窗口。
      x = "My name is " x += "Gilbert" trace (x) 另请参见 + (加号)
      8.   <<= (按位向左移位并赋值)
      可用性 Flash Player 5 。用法 expression1 <<= expression2 参数 expression1
      要向左移位的数字或表达式。 expression2 将转换为从 0 到 31
      之间整数的数字或表达式。返回无。说明运算符(按位组合赋值);此运算符执行按位向左移位运算,然后将该内容作为结果存储在 expression1
      中。下面的两个表达式是等效的。另请参见 << (按位向左移位) >>= (按位向右移位并赋值) >> (按位向右移位)
      9.   = (赋值)
      可用性 Flash Player 4 。 Flash 4 文件: x = y 转换后的 Flash 5 文件: Number(x) ==
      Number(y) 用法 expression1 = expression2 参数 expression1 变量、数组元素或对象属性。
      expression2 任何类型的值。返回无。说明运算符;将 expression2 (位于右侧的参数)的类型赋予 expression1
      中的变量、数组元素或属性。在 Flash 5 中, = 为赋值运算符,而 == 运算符用于计算相等性。在 Flash 4 中, =
      为数值等于运算符。将 Flash 4 文件引入 Flash 5
      创作环境中,必须经过一个转换过程以维护数据类型的完整性。示例下面的示例使用赋值运算符将数字数据类型赋予变量 x 。 x = 5
      下面的示例使用赋值运算符将字符串数据类型赋予变量 x 。 x = "hello" 另请参见 == (等于)  
      --        八.      运算符 : 在表达式中使用的运算符(四)
      1.   >>= (按位向右移位并赋值)
      可用性 Flash Player 5 。用法 expression1 =>> expression2 参数 expression1
      要向左移位的数字或表达式。 expression2 将转换为从 0 到 31
      之间整数的数字或表达式。返回无。说明运算符(按位组合赋值);此运算符执行按位向右移位运算,然后将该内容作为结果存储在 expression1
      中。示例下面的两个表达式是等效的。下面加有注释的代码使用按位 ( >>= ) 运算符。这也是使用所有按位运算符的示例。 function
      convertToBinary(number){ var result = ""; for (var i=0; i<32; i++) { //
      Extract least significant bit using bitwise AND var lsb = number & 1; //
      Add this bit to our result string result = (lsb ? "1" : "0") + result; //
      Shift number right by one bit, to see next bit number >>= 1;} return
      result; } trace(convertToBinary(479)); // Returns the string
      00000000000000000000000111011111 // The above string is the binary
      representation of the decimal // number 479 另请参见 << (按位向左移位)
      2.   >>>= (按位无符号向右移位并赋值)
      可用性 Flash Player 5 。用法 expression1 >>>= expression2 参数 expression1
      要向左移位的数字或表达式。 expression2 将转换为从 0 到 31
      之间整数的数字或表达式。返回无。说明运算符(按位组合赋值);执行无符号按位向右移位运算,然后将该内容作为结果存储在 expression1
      中。下面的两个表达式是等效的:另请参见 >>> (按位无符号向右移位) >>= (按位向右移位并赋值)
      逻辑运算符 : 执行逻辑运算的运算符
      3.   ! (逻辑 NOT )
      可用性 Flash Player 4 。用法 ! expression 参数无。返回无。说明运算符(逻辑);对变量或表达式的布尔值取反。如果
      expression 是绝对值或转换值为 true 的变量,则 ! expression 的值为 false 。如果表达式 x && y
      的计算结果为 false ,则表达式 !(x && y) 的计算结果为 true 。下面的表达式说明使用 ! 运算符的结果: ! true 返回
      false ! false 返回 true 示例在下面的示例中,变量 happy 被设置为 false 。 if 条件对 !happy
      条件进行计算,如果该条件为 true ,则 trace 动作向输出窗口发送一个字符串。 happy = false; if (!happy) {
      trace("don\'t worry, be happy"); }
      && (短路 AND )可用性 Flash Player 4 。用法 expression1 && expression2
      参数无。返回无。说明运算符(逻辑);对一个或两个表达式的值执行布尔运算。计算 expression1
      (该运算符左侧的表达式),当此表达式的计算结果为 false 时返回 false 。如果 expression1 的计算结果为 true ,则计算
      expression2 (该运算符右侧的表达式)。如果 expression2 的计算结果为 true ,则最终结果为 true ;否则,为
      false 。示例此示例用 && 运算符执行一个确定游戏者是否已经赢得游戏的测试。在游戏过程中,游戏者赢得一轮或者得到计分点时,变量 turns 和
      score 会进行更新。在 3 轮之内游戏者的得分达到或超过 75 时,下面的脚本就在输出窗口中显示“ You Win the Game! ”。
      turns=2; score=77; winner = (turns <= 3) && (score >= 75); if (winner) {
      trace("You Win the Game!"); } else { trace("Try Again!"); }
      4.   || (逻辑 OR )
      可用性 Flash Player 4 。用法 expression1 || expression2 参数 expression1 、
      expression2 布尔值或转换为布尔值的表达式。返回无。说明运算符(逻辑);计算 expression1 和 expression2
      。如果其中任何一个或者两个表达式的计算结果为 true ,则结果为 true ;只有当两个表达式的计算结果都为 false 时,结果才为 false
      。逻辑 OR 运算符可用于任意多个操作数;只要任意一个操作数的计算结果为 true ,则结果为 true 。对于非布尔表达式,逻辑 OR 运算符使得
      Flash 对左侧的表达式进行计算;如果左侧的表达式可以转换为 true ,则结果为 true
      。否则,计算右侧的表达式,而且结果就是该表达式的值。示例下面的示例在一个 if 语句中使用 || 运算符。第二个表达式的计算结果为 true
      ,因此最终结果为 true : x = 10 y = 250 start = false if(x > 25 || y > 200 ||
      start){ trace(\'the logical OR test passed\'); }
      示例此示例演示非布尔表达式是如何导致意外结果的。如果左侧的表达式转换为 true ,则返回该结果,而不再转换右侧的表达式。 function
      fx1(){ trace ("fx1 called"); returns true; } function fx2(){ trace ("fx2
      called"); return true; } if (fx1() || fx2()){ trace ("IF statement
      entered"); } // The following is sent to the Output window: // fx1 called
      // IF statement entered
      其他运算符 : 特殊运算符
 5.   --(递减)
      可用性 Flash Player 4 。用法 --expression expression-- 参数无。返回无。说明运算符(算术);从
      expression 中减 1 的预先递减和滞后递减一元运算符。此运算符的预先递减格式 ( -- expression ) 从 expression
      中减去 1 ,然后返回结果。此运算符的滞后递减格式 ( expression-- ) 从 expression 中减去 1 然后返回
      expression 的初始值(即减去 1 之前的值)。示例此运算符的预先递减格式将 x 递减为 2 ( x - 1 = 2 ) ,并将结果返回给
      y : x = 3; y = --x; //y is equal to 2 此运算符的滞后递减格式将 x 递减为 2 ( x - 1 = 2 )
      ,并将 x 的初始值作为结果返回给 y : x = 3; y = x-- //y is equal to 3
      6.   ?: (条件)
      可用性 Flash Player 4 。用法 expression1 ? expression2 : expression3 参数
      expression1 计算结果为布尔值的表达式,通常为像 x < 5 这样的比较表达式。 expression2 、 expression3
      任何类型的值。返回无。说明运算符;指示 Flash 计算 expression1 ,如果 expression1 的值为 true ,则它返回
      expression2 的值;否则,它返回 expression3 的值。示例下面的语句因为 expression1 的计算结果为 true
      ,所以将变量 x 的值赋予变量 z : x = 5; y = 10; z = (x < 6) ? x: y; trace (z); //
      returns 5
      7.   ++ (递增)
      可用性 Flash Player 4 。用法 ++expression expression++ 参数无。返回无。说明运算符(算术);将
      expression 加 1 的预先递增和滞后递增一元运算符。 expression 可以是变量、数组元素或对象属性。此运算符的预先递增格式 (
      ++expression ) 将 expression 加 1 ,然后返回结果。此运算符的滞后递增格式 ( expression++ ) 将
      expression 加 1 并返回 expression 的初始值(即加上 1 之前的值)。此运算符的预先递增格式将 x 递增为 2 ( x +
      1 = 2 ) ,并将结果返回给 y : x = 1; y = ++x //y is equal to 2 此运算符的滞后递增格式将 x 递增为 2
      ( x + 1 = 2 ) ,并将 x 的初始值作为结果返回给 y : x = 1; y = x++; //y is equal to 1
      示例下面的示例将 ++ 用作滞后递增运算符,从而使 while 循环运行 5 次。 i = 0; while(i++ < 5){
      trace("this is execution " + i); } 此示例将 ++ 用作预先递增运算符。 var a = []; var i =
      0; while (i < 10) { a.push(++i); } trace(a.join()); 此脚本在输出窗口中显示以下结果:
      1,2,3,4,5,6,7,8,9,10 下面的示例将 ++ 用作滞后递增运算符。 var a = []; var i = 0; while (i
      < 10) { a.push(i++); } trace(a.join()); 此脚本在输出窗口中显示以下结果:
      0,1,2,3,4,5,6,7,8,9
      8.   instanceof
      可用性 Flash Player 6 。用法 object instanceof class 参数 object 动作脚本对象。 class
      对动作脚本构造函数(例如 String 或 Date )的引用。返回如果 object 是 class 的实例,则 instanceof 返回
      true ;否则, instanceof 返回 false 。说明运算符;确定某对象是否属于指定的类。测试 object 是否为 class
      的实例。如果该构造函数的原型对象位于此动作脚本对象的原型链中,则此动作脚本对象是该类的实例。 instanceof
      运算符不会将原始类型转换为包装对象。例如,下面的代码返回 true : new String("Hello") instanceof String
      而下面的代码返回 false : "Hello" instanceof String 示例为了说明 instanceof
      运算符的算法,下面的示例显示了 instanceof 运算符在其被编码为动作脚本函数时可能的外观形式。 function instanceof
      (theObject, theClass){ while ((theObject = theObject.__proto__) != null) {
      if (theObject == theClass.prototype) { return true; } } return false; }
      另请参见 typeof
      9.   typeof
      可用性 Flash Player 5 。用法 typeof expression 参数 expression
      字符串、影片剪辑、按钮、对象或函数。说明运算符;放在单个参数前的一元运算符。 typeof 运算符使 Flash 解释程序评估 expression
      ;其结果为指定该表达式是一个字符串、影片剪辑、对象还是函数的字符串。下表显示 typeof 运算符对各种表达式执行的结果:参数输出字符串
      string 影片剪辑 movieclip 按钮 object 文本字段 object 数字 number 布尔值 boolean 对象
      object 函数 function
      void 可用性 Flash Player 5 。用法 void ( expression ) 说明运算符;一个放弃 expression
      的值并返回未定义值的一元运算符。 void 运算符经常用于使用 == 运算符测试未定义值的比较运算中。
      算术运算符 : 执行算术运算的运算符
      10.            -
      (负号)可用性 Flash Player 4 。用法(符号反转) – expression (减法) expression1 -
      expression2 参数无。返回无。说明运算符(算术);用于符号反转或减法运算。用法 1 :用于符号反转时,它将数值 expression
      的符号反转。用法 2 :用于减法时,它对两个数值表达式执行算术减法运算,从 expression1 中减去 expression2
      。两个表达式都为整数时,差为整数。其中任何一个或两个表达式为浮点数时,差为浮点数。示例用法 1 :下面的语句将表达式 2 + 3 的符号反转。
      -(2 + 3) 结果为 -5 。用法 2 :下面的语句从整数 5 中减去整数 2 。 5 - 2 结果为 3 ,是一个整数。用法 2
      :下面的语句从浮点数 3.25 中减去浮点数 1.5 。 3.25 - 1.5 结果为 1.75 ,是一个浮点数。
      11.            % (模)
      可用性 Flash Player 4 。在 Flash 4 文件中, % 运算符在 SWF 文件中展开为 x - int(x/y) * y
      ,而且可能不如在 Flash Player 的后续版本中那样快速和精确。用法 expression1 % expression2
      参数无。返回无。说明运算符(算术);计算 expression1 除以 expression2 的余数。如果两个 expression
      参数中有一个是非数字值,则模运算符尝试将它们转换为数字。 expression 可以是数字或转换为数值的字符串。示例下面是一个使用模 ( %)
      运算符的数字示例。 trace (12 % 5); // returns 2 trace (4.3 % 2.1 ); // returns
      approximately 0.1
      12.            (乘号)
      可用性 Flash Player 4 。用法 expression1 * expression2
      参数无。返回无。说明运算符(算术);将两个数值表达式相乘。如果两个表达式都是整数,则积为整数。如果其中任何一个或两个表达式是浮点数,则积为浮点数。示例下面的语句将整数
      2 与 3 相乘: 2 * 3 结果为 6 ,是一个整数。示例下面的语句将浮点数 2.0 与 3.1416 相乘。 2.0 * 3.1416 结果为
      6.2832 ,是一个浮点数。 
      / (除号)可用性 Flash Player 4 。用法 expression1 / expression2 参数 expression
      数字或计算结果为数字的变量。返回无。说明运算符(算术);将 expression1 除以 expression2
      。除法运算的结果为双精度浮点数。示例下面的语句将浮点数 22.0 除以 7.0 ,然后在输出窗口中显示结果。 trace(22.0 / 7.0);
      结果为 3.1429 ,是一个浮点数。
      13.            + (加号)
      可用性 Flash Player 4 ; Flash Player 5 。在 Flash 5 中, +
      既可以是数值运算符,也可以是字符串连接符,这要取决于参数的数据类型。在 Flash 4 中, + 只是数值运算符。将 Flash 4 文件引入
      Flash 5 创作环境中,必须经过一个转换过程以维护数据类型的完整性。下面的示例举例说明对包含数值比较的 Flash 4 文件的转换过程:
      Flash 4 文件: x + y 转换后的 Flash 5 文件: Number(x) + Number(y) 用法 expression1 +
      expression2 参数 expression1 、 expression2
      数字或字符串。返回无。说明运算符;将数值表达式相加或者连接(合并)字符串。如果其中一个表达式为字符串,则所有其他表达式都被转换为字符串,然后连接起来。两个表达式都为整数时,和为整数;其中一个或两个表达式为浮点数时,和为浮点数。示例下面的示例连接两个字符串,然后在输出窗口中显示结果。
      name = "Cola"; instrument = "Drums"; trace (name + " plays " +
      instrument); 示例与动态和输入文本字段相关联的变量是字符串数据类型。在下面的示例中,变量 deposit
      是舞台上的一个输入文本字段。在用户输入存款数目后,该脚本尝试将 deposit 加到 oldBalance 上。然而,由于 deposit
      是字符串数据类型,因此脚本连接(合并成一个字符串)变量的值,而不是对它们求和。 oldBalance = 1345.23;
      currentBalance = deposit + oldBalance; trace (currentBalance);
      例如,如果用户在存款文本字段输入 475 ,则 trace 动作将值 4751345.23 发送到输出窗口。 若要更正这点,可使用 Number
      函数将字符串转换为数字,如下所示: currentBalance = Number(deposit) + oldBalance; 示例此语句将整数
      2 和 3 相加,然后将计算结果整数 5 显示在输出窗口中: trace (2 + 3); 此语句将浮点数 2.5 和 3.25
      相加,然后将结果浮点数 5.75 显示在输出窗口中: trace (2.5 + 3.25); 另请参见 add 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多