openKylin论坛

 找回密码

Flash常用函数命令用法 [复制链接]

1gotoAndPlay(scene, frame)
参数
scene 播放头将转到的场景的名称
frame 播放头将转到的帧的编号或标签
说明
动作;将播放头转到场景中指定的帧并从该帧开始播放如果未指定场景,则播放头将转到当前场景中的指定帧
示例
当用户点击 gotoAndPlay 动作所分配到的按钮时,播放头将转到第 16 帧并开始播放
on(release) {
gotoAndPlay(16);
}
2gotoAndStop(scene, frame)
参数
scene 播放头将转到的场景的名称
frame 播放头将转到的帧的编号或标签
说明
动作;将播放头转到场景中指定的帧并停止播放如果未指定场景,则播放头将转到当前场景中的帧
示例
当用户点击 gotoAndStop 动作所分配到的按钮时,播放头将转到第 5 帧并且影片停止播放
on(release) {
gotoAndStop(5);
}
3on(mouse Event) {
statement(s);
}
参数
statement(s) 发生 mouse Event 时要执行的指令
mouse Event 是称作事件的触发器当发生此事件时,执行事件后面花括号中的语句可以为 mouse Event 参数指定下面的任何值:
- press 在鼠标指针经过按钮时按下鼠标按钮
- release 在鼠标指针经过按钮时释放鼠标按钮
- release Outside 当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标按钮
- rollout 鼠标指针滑出按钮区域
- rollover 鼠标指针滑过按钮
- dragOut 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮区域
- dragOver 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮,再滑回此按钮
- keyPress (key) 按下指定的 key此参数的 key 部分可使用使用 Flash的附录 B键盘键和键控代码值中所列的任何键控代码进行指定,或者使用Key 对象的属性摘要中列出的任何键常量进行指定
说明
事件处理函数;指定触发动作的鼠标事件或者按键事件
示例
在下面的脚本中,当按下鼠标按钮时,执行 start Drag 动作,当释放鼠标按钮时,执行条件脚本,并放下该对象
on(press) {
startDrag("rabbit");
}
on(release) {
trace(_root.rabbit._y);
trace(_root.rabbit._x);
stopDrag();
}
4fscommand("command", "parameters")
参数
command 一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给独立 Flash Player 的命令
parameters 一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给 Flash Player 的值
说明
动作;使 Flash 影片能够与 Flash Player 或承载 Flash Player 的程序(如 Web 浏览器)进行通讯还可使用 fscommand 动作将消息传递给 Macromedia Director,或者传递给 Visual BasicVisual C++ 和其他可承载 ActiveX 控件的程序
用法 1:若要将消息发送给 Flash Player,必须使用预定义的命令和参数
用法 2:若要在 Web 浏览器中使用 fscommand 动作将消息发送到脚本撰写语言(如 JavaScript),可以在 command 和 parameters 参数中传递任意两个参数这些参数可以是字符串或表达式,在捕捉或处理 fscommand 动作的 JavaScript 函数中使用这些参数
在 Web 浏览器中,fscommand 动作在包含 Flash 影片的 HTML 页中调用 JavaScript 函数 moviename_DoFScommandmoviename 是 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 BasicVisual 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 警告框(或message box)打开并显示 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
5getURL(url [, window [, "variables"]])
参数
url 可从该处获取文档的 URL
window 一个可选参数,指定文档应加载到其中的窗口或 HTML 框架您可输入特定窗口的名称,或从下面的保留目标名称中选择:
- _self 指定当前窗口中的当前框架
- _blank 指定一个新窗口
- _parent 指定当前框架的父级
- _top 指定当前窗口中的顶级框架
variables 用于发送变量的 GET 或 POST 方法如果没有变量,则省略此参数GET方法将变量追加到 URL 的末尾,该方法用于发送少量变量POST 方法在单独的 HTTP 标头中发送变量,该方法用于发送长的变量字符串
说明
动作;将来自特定 URL 的文档加载到窗口中,或将变量传递到位于所定义 URL 的另一个应用程序若要测试此动作,请确保要加载的文件位于指定的位置若要使用绝对 URL(例如,),则需要网络连接
示例
此示例将一个新 URL 加载到空浏览器窗口中getURL 动作将变量 incomingAd 作为 url 参数的目标,这样您无需编辑 Flash 影片即可更改加载的 URL在这之前,在影片中使用 load Variables 动作将 incoming Ad 变量的值传递到 Flash 中
on(release) {
getURL(incomingAd, "_blank");
}
6loadMovie("url",level/target[, variables])
参数
url 要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL相对路径必须相对于级别 0 处的 SWF 文件该 URL 必须与影片当前驻留的 URL 在同一子域为了在 Flash Player 中使用 SWF 文件或在 Flash 创作应用程序的测试模式下测试 SWF 文件,必须将所有的 SWF 文件存储在同一文件夹中,而且其文件名不能包含文件夹或磁盘驱动器说明
target 指向目标影片剪辑的路径目标影片剪辑将替换为加载的影片或图像只能指定 target 影片剪辑或目标影片的 level 这两者之一;而不能同时指定两者
level 一个整数,指定 Flash Player 中影片将被加载到的级别在将影片或图像加载到级别时,标准模式下动作面板中的 loadMovie 动作将切换为 loadMovieNum;在专家模式下,您必须指定 loadMovieNum 或从动作工具箱中选择它
variables 一个可选参数,指定发送变量所使用的 HTTP 方法该参数须是字符串 GET 或 POST如没有要发送的变量,则省略此参数GET 方法将变量追加到 URL 的末尾,该方法用于发送少量变量POST 方法在单独的 HTTP 标头中发送变量,该方法用于发送长的变量字符串
说明
动作;在播放原始影片的同时将 SWF 或 JPEG 文件加载到 Flash Player 中loadMovie 动作使您可以同时显示几个影片,并且无需加载另一个 HTML 文档就可在影片之间切换如果不使用 loadMovie 动作,则 Flash Player 显示单个影片(SWF 文件),然后关闭
当使用 loadMovie 动作时,必须指定 Flash Player 中影片将加载到的级别或目标影片剪辑如果指定级别,则该动作变成 loadMovieNum如果影片加载到目标影片剪辑,则可使用该影片剪辑的目标路径来定位加载的影片
加载到目标的影片或图像会继承目标影片剪辑的位置旋转和缩放属性加载的图像或影片的左上角与目标影片剪辑的注册点对齐另一种情况是,如果目标为 _root 时间轴,则该图像或影片的左上角与舞台的左上角对齐
使用 unloadMovie 动作可删除使用 loadMovie 动作加载的影片
示例
下面的 loadMovie 语句附加到标签为 Products 的导航按钮在舞台上有一个实例名称为 dropZone 的不可见影片剪辑load Movie 动作使用此影片剪辑作为目标参数将 SWF 文件形式的产品加载到舞台上的正确位置
on(release) {
loadMovie("products.swf",_root.dropZone);
}
下面的示例从目录中加载一个 JPEG 图像,该目录与调用 load Movie 动作的 SWF 文件的目录相同:
load Movie("image45.jpeg", "ourMovieClip");
7loadMovieNum("url",level[, variables])
参数
url 要加载的 SWF 或 JPEG 文件的绝对或相对 URL相对路径必须相对于级别 0 处的 SWF 文件该 URL 必须与影片当前驻留的 URL 在同一子域为了在独立的 Flash Player 中使用 SWF 文件或在 Flash 创作应用程序的测试影片模式下测试 SWF 文件,必须将所有的 SWF 文件存储在同一文件夹中,并且其文件名不能包含文件夹或磁盘驱动器说明
level 一个整数,指定 Flash Player 中影片将被加载到的级别
variables 一个可选参数,指定发送变量所使用的 HTTP 方法该参数必须是字符串 GET 或 POST如果没有要发送的变量,则省略此参数GET 方法将变量追加到 URL 的末尾,该方法用于发送少量变量POST 方法在单独的 HTTP 标头中发送变量,该方法用于发送长的变量字符串
说明
动作;在播放原来加载的影片的同时将 SWF 或 JPEG 文件加载到 Flash Player 中的某个级别在将影片加载到级别而不是目标时,标准模式下动作面板中的 loadMovie 动作将切换为 loadMovieNum;在专家模式下,您必须指定 loadMovieNum 或从动作工具箱中选择它一般情况下,Flash Player 显示单个影片(SWF 文件),然后关闭loadMovieNum 动作使您可以同时显示几个影片,并且无需加载另一个 HTML 文档就可在影片之间切换
Flash Player 具有从级别 0 开始的级别堆叠顺序这些级别类似于醋酸纤维层;除了每个级别上的对象之外,它们是透明的当使用 loadMovieNum 动作时,必须指定 Flash Player 中影片将加载到的级别在影片加载到级别后,即可使用语法 _levelN 来定位影片,其中 N 为级别号
当加载影片时,可指定任何级别号,并且可将影片加载到已加载有 SWF 文件的级别如果执行此动作,则新影片将替换现有的 SWF 文件如果将影片加载到级别 0,则 Flash Player 中的每个级别均被卸载,并且级别 0 将替换为该新文件处于级别 0 的影片为所有其他加载的影片设置帧频背景色和帧的大小
loadMovieNum 动作也允许您在播放影片时将 JPEG 文件加载到影片中对于图像和 SWF 文件,在文件加载时,图像的左上角均与舞台的左上角对齐另外,在这两种情况下,加载的文件均继承旋转和缩放设置,并且原始内容将被覆盖
使用 unloadMovieNum 动作可删除使用 loadMovieNum 动作加载的影片或图像
示例
此示例将 JPEG 图像image45.jpg加载到 Flash Player 的级别 2 中
loadMovieNum("", 2); //
8load Variables ("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 中的级别号,或者指定一个目标影片剪辑(每个影片都将加载到该级别或目标影片剪辑中)当使用 load Variables 动作时,必须指定变量将加载到的 Flash Player 级别或影片剪辑目标
示例
此示例将来自文本文件的信息加载到主时间轴上 varTarget 影片剪辑的文本字段中文本字段的变量名必须与 data.txt 文件中的变量名匹配
on(release) {
loadVariables("data.txt", "_root.varTarget");
}
9load Variables ("url" ,level [, variables])
参数
url 变量所处位置的绝对或相对 URL如果使用 Web 浏览器访问影片,则此 URL 的宿主必须与影片本身在同一子域中
level 指定 Flash Player 中接收这些变量的级别的整数
variables 一个可选参数,指定发送变量所使用的 HTTP 方法该参数必须是字符串 GET 或 POST如果没有要发送的变量,则省略此参数GET 方法将变量追加到 URL 的末尾,该方法用于发送少量变量POST 方法在单独的 HTTP 标头中发送变量,该方法用于发送长的变量字符串
说明
动作;从外部文件(例如文本文件,或由 CGI 脚本Active Server Page (ASP)PHP 或 Peril 脚本生成的文本)读取数据,并设置 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
loadMovie
loadMovieNum
loadVariables
MovieClip.loadMovie
MovieClip.loadVariables
10unload Movie[Num](level/"target")
参数
level 加载影片的级别 (_levelN)从一个级别卸载影片时,在标准模式下,动作面板中的 unload Movie 动作切换为 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);
}

另请参见
load Movie
loadMovieNum
unloadMovieNum
11unloadMovieNum(level)
参数
level 加载影片的级别 (_levelN)
说明
动作;从 Flash Player 中删除已加载的影片
另请参见
loadMovie
loadMovieNum
12duplicateMovieClip(target, newname,depth)
参数
target 要复制的影片剪辑的目标路径
new name 复制的影片剪辑的唯一标识符
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--;
}
}

另请参见
MovieClip.duplicateMovieClip
removeMovieClip
MovieClip.removeMovieClip
13onClipEvent(movieEvent){
statement(s);
}
参数
movie Event 是一个称作事件的触发器当事件发生时,执行该事件后面花括号中的语句可以为 movie Event 参数指定下面的任何值:
- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作
- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动处理与 Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作
- enter Frame 以影片帧频不断地触发此动作首先处理与 enter Frame 剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作脚本
- mouse Move 每次移动鼠标时启动此动作_xmouse 和 _ymouse 属性用于确定当前鼠标位置
- mouse Down 当按下鼠标左键时启动此动作
- mouse Up 当释放鼠标左键时启动此动作
- key Down 当按下某个键时启动此动作使用 Key.getCode 方法获取最近按下的键的有关信息
- key Up 当释放某个键时启动此动作使用 Key.getCode 方法获取最近按下的键的有关信息
- data 当在 loadVariables 或 loadMovie 动作中接收数据时启动此动作当与 loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时当与 load Movie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生
statement(s) 发生 mouse Event 时要执行的指令
说明
事件处理函数;触发为特定影片剪辑实例定义的动作
示例
下面的语句在导出影片时包括来自外部文件的脚本;当加载动作所附加到的影片剪辑时,运行包含脚本中的动作:
onClipEvent(load) {
#include "myScript.as"
}
下面的示例将 onClipEvent 与 key Down 影片事件一起使用key Down 影片事件通常与 Key 对象的一个或多个方法和属性一起使用下面的脚本使用 Key.getCode 方法找出用户按下了哪个键;如果按下的键与 Key. RIGHT 属性相匹配,则将影片移到下一帧;如果按下的键与 Key. LEFT 属性相匹配,则将影片移到上一帧
OnClipEvent(key Down) {
if (Key.getCode() == Key. RIGHT) {
_parent.nextFrame();
} else if (Key.getCode() == Key. LEFT){
_parent.prevFrame();
}
}

下面的示例将 onClipEvent 与 mouse Movie 影片事件一起使用_xmouse 和 _ymouse 属性跟踪每次鼠标移动时的鼠标位置
onClipEvent(mouse Move) {
stageX=_root. mouse;
stageY=_root. mouse;
}

另请参见
MovieClip._xmouse
MovieClip._ymouse
On
14removeMovieClip(target)
参数
target 用 duplicateMovieClip 创建的影片剪辑实例的目标路径,或者用 Movie Clip 对象的 attach Movie 或 duplicateMovieClip 方法创建的影片剪辑的实例名
说明
动作;删除用 Movie Clip 对象的 attach Movie 或 duplicateMovieClip 方法创建的,或者用 duplicateMovieClip 动作创建的影片剪辑实例
另请参见
duplicateMovieClip
MovieClip.duplicateMovieClip
MovieClip.attachMovie
MovieClip.removeMovieClip
15set Property("target",property,value/expression)
参数
target 到要设置其属性的影片剪辑实例名称的路径
property 要设置的属性
value 属性的新文本值
expression 计算结果为属性新值的公式
说明
动作;当影片播放时,更改影片剪辑的属性值
示例
当单击按钮时,此语句将名为 star 的影片剪辑的 _alpha 属性设置为 30%:
on(release) {
setProperty("star", _alpha, "30");
}
另请参见
get Property
16delete reference
参数
reference 要消除的变量或对象的名称
说明
运算符;销毁由 reference 参数指定的对象或变量,如果该对象被成功删除,则返回 true;否则返回 false 值该运算符对于释放脚本所用的内存非常有用虽然 delete 是一个运算符,但它通常作为语句使用,如下所示:
delete x;
如果 reference 参数不存在,或者不能被删除,则 delete 运算符可能失败并返回 false预定义的对象和属性以及由 var 声明的变量不能删除不能使用 delete 运算符删除影片剪辑
示例
下面的示例创建一个对象并使用它,然后在不再需要时删除它
account = new Object();
account. ;
account. balance = 10000;
delete account;
示例
下面的示例删除对象的一个属性
// create the new object "account"
account = new Object();
// assign property name to the account
account. ;
// 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 2
array[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
17set(variable, expression)
参数
variable 保存 expression 参数值的标识符
expression 分配给变量的值
说明
动作;为变量赋值variable 是保存数据的容器容器本身始终不变,但内容可以更改通过在影片播放时更改变量的值,可以记录和保存有关用户所执行操作的信息;记录当影片播放时更改的值;或者计算某条件是 true 还是 false
变量可以保存任何类型的数据(例如,字符串数字布尔值对象或影片剪辑)每个影片和影片剪辑的时间轴都有其自己的变量集,每个变量又都有其自己独立于其他时间轴上的变量的值
动作脚本是一种动态类型化语言每个变量都有一种类型该类型是在运行时分配的,并且可以在执行过程中进行更改这一点与静态类型化语言(如 Java 或 C++)不同,在静态类型化语言中,在编译时分配类型,而且在运行时无法更改
示例
此示例设置一个名为 orig_x_pos 的变量,该变量存储 ship 影片剪辑的原始 轴位置,以便以后在影片中将船 (ship) 重置到其起始位置
on(release) {
set(orig_x_pos, get Property ("ship", _x ));
}
上面的代码与下面的代码结果一样:
on(release) {
orig_x_pos = ship._x;
}

另请参见
var
call
18var variableName1 [= value1][...,variableNameN [=valueN]]
参数
variable Name 标识符
value 分配给变量的值
说明
动作;用于声明局部变量如果在函数内声明局部变量,那么变量就是为该函数定义的,且在该函数调用结束时到期如果变量不是在块 ({}) 内声明的,但使用 call 动作执行该动作列表,则该变量为局部变量,且在当前列表结束时到期如果变量不是在块中声明的,且不使用 call 动作执行当前动作列表,则这些变量不是局部变量
示例
下面的示例使用 var 动作声明和分配变量:
var x;
var y = 1;
var z = 3, w = 4;
var s, t, u = z;
19with (object) {
statement(s);
}
参数
object 动作脚本对象或影片剪辑的实例
statement(s) 花括号中包含的动作或一组动作
说明
动作;允许您使用 object 参数指定一个对象(比如影片剪辑),并使用 statement(s) 参数计算对象中的表达式和动作这可以使您不必重复书写对象的名称或路径
object 参数成为读取 statement(s) 参数中的属性变量与函数的上下文例如,如果 object 为 my Array,且指定属性中的两个是 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 动作替换了被否决的 tell Target 动作建议您使用 with 而不使用 tell Target,因为前者是对 ECMA-262 标准的一个标准动作脚本扩展功能with 与 tell Target 动作的主要差异在于 with 采用对影片剪辑或其他对象的引用作为其参数,而 tell Target 采用标识影片剪辑的目标路径字符串作为其参数,且不能用于指向对象
示例
下面的示例设置 someOtherMovieClip 实例的 x 与 y 属性,然后指示 someOtherMovieClip 转到第三帧并停止
with (someOtherMovieClip) {
_x = 50;
_y = 100;
gotoAndStop(3);
}
下面的代码片断显示如何不使用 with 动作编写前面的代码
someOtherMovieClip._x = 50;
someOtherMovieClip._y = 100;
someOtherMovieClip.gotoAndStop(3);
还可使用 tell Target 动作编写这段代码然而,如果 someOtherMovieClip 不是影片剪辑,而是一个对象,则不能使用 with 动作
tell Target ("someOtherMovieClip") {
_x = 50;
_y = 100;
gotoAndStop(3);
}

with 动作对于在范围链列表中同时访问多项十分有用在下面的示例中,内置 Math 对象被放置在范围链的前面将 Math 设置为默认对象可以将标识符 cossin 与 PI 分别解析为 Math.cosMath.sin 与 Math.PI标识符 axy 与 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;
}
}

另请参见
tell Target
20break
说明
动作;出现在一个循环(forfor. indo 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
21continue
说明
动作;出现在几种类型的循环语句中;它在每种类型的循环中的行为方式各不相同
在 while 循环中,continue 可使 Flash 解释程序跳过循环体的其余部分,并转到循环的顶端(在该处进行条件测试)
在 do while 循环中,continue 可使 Flash 解释程序跳过循环体的其余部分,并转到循环的底端(在该处进行条件测试)
在 for 循环中,continue 可使 Flash 解释程序跳过循环体的其余部分,并转而计算 for 循环的后表达式 (post-expression)
在 for..in 循环中,continue 可使 Flash 解释程序跳过循环体的其余部分,并跳回循环的顶端(在该处处理下一个枚举值)
另请参见
do while
for
for..in
while

22do {
statement(s)
} while (condition)
参数
condition 要计算的条件
statement(s) 只要 condition 参数计算结果为 true 就会执行的语句
说明
动作;执行语句,然后只要条件为 true,就计算循环中的条件
另请参见
break
continue
23else statement
else {...statement(s)...}
参数
condition 计算结果为 true 或 false 的表达式
statement(s) 如果 if 语句中指定的条件为 false,则运行的替代语句系列
说明
动作;指定当 if 语句中的条件返回 false 时要运行的语句
另请参见
if

24if (condition){
statement(s);
} else if (condition){
statement(s);
}
参数
condition 计算结果为 true 或 false 的表达式
statement(s) 如果 if 语句中指定的条件为 false,则运行的替代语句系列
说明
动作;计算条件,并指定当初始 if 语句中的条件返回 false 时要运行的语句如果 else if 条件返回 true,则 Flash 解释程序运行该条件后面花括号 ({}) 中的语句如果 else if 条件为 false,则 Flash 跳过花括号中的语句,运行花括号之后的语句在脚本中可以使用 else if 动作创建分支逻辑
示例
下面的示例使用 else if 动作检查对象的每一边是否都在特定的边界内:
// if the object goes off bounds,
// send it back and reverse its travel speed
if (this._x>right Bound) {
  this._x = right Bound;
  xInc = -xInc;
} else if (this._x<left Bound) {
  this._x = left Bound;
  xInc = -xInc;
} else if (this._y>bottom Bound) {
  this._y = bottom Bound;
  yInc = -yInc;
} else if (this._y<top Bound) {
  this._y = top Bound;
  yInc = -yInc;
}
另请参见
if
25for(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. reverse)不包括在 Array 对象的枚举中,而影片剪辑属性,如 _x 和 _y,也不能枚举
示例
下面的示例使用 for 在数组中添加元素:
for(i=0; i<10; i++) {
array = (i + 5)*10;
trace(array);
}
在输出窗口中显示下列结果:
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

26for(variableIterant in object){
statement(s);
}
参数
variable Iterant 作为迭代变量的变量名,引用数组中对象或元素的每个属性
object 要重复的对象的名称
statement(s) 要为每次迭代执行的指令
说明
动作;循环通过数组中对象或元素的属性,并为对象的每个属性执行 statement
一些属性无法用 for 或 for..in 动作进行枚举例如,Array 对象的内置方法(Array. sort 和 Array. reverse),不包括在 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 迭代某对象的属性:
my Object = { name:'Tara', age:27, city:'San Francisco' };
for (name in my Object) {
trace ("my Object." + name + " = " + my Object[name]);
}
此示例的输出如下所示:
myObject.name = Tara
myObject.age = 27
myObject.city = San Francisco
下面的示例将 type of 运算符与 for..in 一起使用来迭代特定类型的 child:
for (name in myMovieClip) {
if (type of (myMovieClip[name]) = "movie clip") {
trace ("I have a movie clip child named " + name);
}
}
下面的示例枚举影片剪辑的子级,并将每个子级发送到其各自时间轴的第二帧RadioButtonGroup 影片剪辑是一个父级,它具有多个子级:_RedRadioButton__GreenRadioButton_ 和 _BlueRadioButton

for (var name in RadioButtonGroup) {
RadioButtonGroup[name].gotoAndStop(2);
}
27if(condition) {
statement(s);
}
参数
condition 计算结果为 true 或 false 的表达式
statement(s) 如果或当条件的计算结果为 true 时要执行的指令
说明
动作;对条件进行计算以确定影片中的下一步动作如果条件为 true,则 Flash 将运行条件后面花括号 ({}) 内的语句如果条件为 false,则 Flash 跳过花括号内的语句,运行花括号后面的语句使用 if 动作可在脚本中创建分支逻辑
示例
在下面的示例中,括号内的条件对变量 name 进行计算以查看其是否具有文本值Erica如果有,则运行花括号内的 play 动作
if(name == "Erica"){
play();
}
示例
下面的示例使用 if 动作计算用户何时释放影片中的可拖动对象如果对象在拖动后 300 毫秒之内被释放,则条件的计算结果为 true,并运行花括号内的语句这些语句设置变量以存储对象的新位置拖放对象的难易程度和拖放对象时的速度time Pressed 变量也将被重置如果对象在拖动后超过 300 毫秒之后被释放,则条件的计算结果为 false,并且不运行任何语句

if (get Timer()<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 traveled with it
xInc = xTravel/2;
yInc = yTravel/2;
time Pressed = 0;
}
另请参见
else
28while(condition) {
statement(s);
}
参数
condition 每次执行 while 动作时都要重新计算的表达式如果该语句的计算结果为 true,则运行 statement(s)
statement(s) 条件的计算结果为 true 时要执行的代码
说明
动作;测试表达式,只要该表达式为 true,就重复运行循环中的语句或语句序列
在运行语句块之前,首先测试 condition;如果该测试返回 true,则运行该语句块如果该条件为 false,则跳过该语句块,并执行 while 动作语句块之后的第一条语句
通常当计数器变量小于某指定值时,使用循环执行动作在每个循环的结尾递增计数器的值,直到达到指定值为止此时,condition 不再为 true,且循环结束
while 语句执行下面一系列步骤步骤 1 至 4 的每次重复叫做循环的迭代在每次迭代的开始重新测试 condition,如下面的步骤所述:
1 计算表达式 condition2 如果 condition 的计算结果为 true,或者一个可转换为布尔值 true 的值(比如一个非零数字),则转到步骤 3否则,while 语句结束,并从 while 循环之后的下一语句恢复执行过程3 运行语句块 statement(s)4 转到步骤 1
示例
此示例在舞台上复制五个影片剪辑,每个影片剪辑具有随机生成的 位置;xscaleyscale 以及 _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

29call(frame)
参数
frame 时间轴中帧的标签或编号
说明
动作;执行被调用帧中的脚本,而不将播放头移动到该帧一旦执行完该脚本,局部变量将不存在
另请参见
function

30function name ([parameter0, parameter1,...parameterN]){
statement(s)
}
function ([parameter0, parameter1,...parameterN]){
statement(s)
}
参数
function name 新函数的名称
parameter 一个标识符,表示要传递给函数的参数这些参数是可选的
statement(s) 为 function 的函数体定义的任何动作脚本指令
说明
动作;您定义的用来执行特定任务的一组语句可以在影片的一个地方声明或定义函数,然后从影片的其他脚本调用它定义函数时,还可以为其指定参数参数是函数要对其进行操作的值的占位符每次调用函数时,可以向其传递不同的参数这使您可以在不同场合重复使用一个函数
在函数的 statement(s) 中使用 return 动作可使函数返回或生成一个值
用法 1:用指定的 functionnameparameters 和 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}
31return[expression]
return
参数
expression 要作为函数值计算并返回的字符串数字数组或对象此参数是可选的
如果提供了 expression 参数,则返回计算的结果
说明
动作;指定由函数返回的值return 动作计算 expression 并将结果作为它在其中执行的函数的值返回return 动作导致函数停止运行,并用返回值代替函数如果单独使用 return 语句,它返回 null
示例
下面的示例在 sum 函数体内使用 return 动作,以返回三个参数相加后的值下一行代码调用 sum 函数并将返回值赋予变量 new Value:
function sum(a, b, c){
return a + b + c;
}
new Value = sum(4, 32, 78);
trace(new Value);
// sends 114 to the Output window

另请参见
function

32get Property(instance name , property)
参数
instance name 要获取其属性的影片剪辑的实例名称
property 影片剪辑的属性
说明
函数;返回影片剪辑 instance name 的指定 property 的值
示例
下面的示例获取影片剪辑 my Movie 的水平轴坐标 (_x),并将其分配给变量 myMovieX:
myMovieX = get Property(_root.myMovie, _x);

33myMovieClip._alpha
说明
属性;设置或获取由 Movie Clip 指定的影片剪辑的 Alpha 透明度 (value)有效值为 0(完全透明)到 100(完全不透明)如果影片剪辑的 _alpha 设置为 0,虽然其中的对象不可见,但也是活动的例如,依然可以点击一个 _alpha 属性设置为 0 的影片剪辑中的按钮
示例
下面的语句在点击按钮时,将名为 star 的影片剪辑的 _alpha 属性设置为 30%:
on(release) {
star._alpha = 30;
}

34myMovieClip._currentframe
说明
属性(只读);返回由 Movie Clip 指定的时间轴中播放头所处的帧的编号
示例
下面的示例使用 _current frame 属性指示影片剪辑 action Clip 的播放头从当前位置前进 5 帧

actionClip.gotoAndStop(_current frame + 5);

35myMovieClip._droptarget
说明
属性(只读);以斜杠语法记号表示法返回 Movie Clip 放置到的影片剪辑实例的绝对路径_drop target 属性始终返回以斜杠 (/) 开始的路径若要将实例的 _drop target 属性与引用进行比较,请使用 eval 函数将返回值从斜杠语法转换为点语法表示的引用
示例
下面的示例计算 garbage 影片剪辑实例的 _drop target 属性并使用 eval 将其从斜杠语法转换为点语法表示的引用然后将 garbage 引用与对 trash 影片剪辑实例的引用进行比较如果两个引用相等,则将 garbage 的可见性设置为 false如果它们不相等,则将 garbage 实例重置为其原始位置
if (eval_r(garbage._droptarget) == _root.trash) {
garbage._visible = false;
} else {
garbage._x = x_pos;
garbage._y = y_pos;
}
变量 x_pos 和 y_pos 是用下列脚本在影片的第一帧上设置的:

x_pos = garbage._x;
y_pos = garbage._y;
另请参见
start Drag

36myMovieClip._framesloaded
说明
属性(只读);从影片流中已经加载的帧数该属性很有用,可确定特定帧及其前面所有帧的内容是否已经加载,并且是否可在浏览器本地使用该属性对于监视大影片的下载过程很有用例如,可能需要向用户显示一条消息以表明影片正在下载,直到影片中的指定帧完成下载为止
示例
下面的示例使用 _frames loaded 属性在所有帧都已加载后开始播放影片如果未加载完所有帧,则会等比例增大影片剪辑实例 loader 的 _xscale 属性以创建进度栏
if (_frames loaded >= _total frames) {
gotoAndPlay ("Scene 1", "start");
} else {
_root.loader._xscale = (_framesloaded/_totalframes)*100);
}

37myMovieClip._rotation
说明
属性;以度为单位指定影片剪辑的旋转

38myMovieClip._target
说明
属性(只读);返回 Movie Clip 参数中指定的影片剪辑实例的目标路径

39myMovieClip._totalframes
说明
属性(只读);返回 Movie Clip 参数中指定的影片剪辑实例中的总帧数

40myMovieClip._x
说明
属性;设置影片 坐标的整数,该坐标相对于父级影片剪辑的本地坐标如果影片剪辑在主时间轴中,则其坐标系统将舞台的左上角作为 (0, 0)如果影片剪辑位于另一个具有变形的影片剪辑中,则该影片剪辑位于包含它的影片剪辑的本地坐标系统中因此,对于逆时针旋转 90 的影片剪辑,该影片剪辑的子级将继承逆时针旋转 90 的坐标系统影片剪辑的坐标指的是注册点的位置
另请参见
MovieClip._xscale
MovieClip._y
MovieClip._yscale

41myMovieClip._xmouse
说明
属性(只读);返回鼠标位置的 坐标
另请参见
MovieClip._ymouse

42myMovieClip._xscale
说明
属性;确定从影片剪辑的注册点开始应用的影片剪辑的水平缩放比例 (percentage)默认注册点为 (0,0)
缩放本地坐标系统将影响 _x 和 _y 属性的设置,这些设置是用整体像素定义的例如,如果父级影片剪辑缩放到 50%,则设置 _x 属性将移动影片剪辑中的对象,距离为在影片设置为 100% 时其像素数的一半
另请参见
MovieClip._x
MovieClip._y
MovieClip._yscale

43myMovieClip._y
说明
属性;设置影片的 坐标,该坐标相对于父级影片剪辑的本地坐标如影片剪辑在主时间轴中,则其坐标系统将舞台的左上角作为 (0, 0)如影片剪辑位于另一个具有变形的影片剪辑中,则该影片剪辑位于包含它的影片剪辑的本地坐标系统中因此,对于逆时针旋转 90 的影片剪辑,该影片剪辑的子级将继承逆时针旋转 90 的坐标系统影片剪辑的坐标指的是注册点的位置

另请参见

MovieClip._x
MovieClip._xscale
MovieClip._yscale

44myMovieClip._ymouse
说明
属性(只读);指示鼠标位置的 坐标
另请参见
MovieClip._xmouse

45myMovieClip._yscale
说明
属性;设置从影片剪辑注册点开始应用的该影片剪辑的垂直缩放比例 (percentage)默认注册点为 (0,0)
缩放本地坐标系统将影响 _x 和 _y 属性的设置,这些设置是用整体像素定义的例如,如果将父级影片剪辑缩放到 50%,则设置 _x 属性将移动影片剪辑中的对象,距离为在影片为 100% 时其像素数的一半
另请参见
MovieClip._x
MovieClip._xscale
MovieClip._y
46new Date()
new Date(year,month [,date [,hour[,minute [,second[,millisecond]]]]])
参数
year 一个 0 至 99 之间的值,表示 1900 年至 1999 年;如果年份不在上述范围内,则必须指定表示年份数的所有 4 位数字
month 从 0(一月)到 11(十二月)之间的一个整数
date 从 1 到 31 之间的一个整数此参数是可选的
hour 从 0(午夜)到 23(深夜 11 点)之间的一个整数
minute 从 0 到 59 之间的一个整数此参数是可选的
second 从 0 到 59 之间的一个整数此参数是可选的
millisecond 从 0 到 999 之间的一个整数此参数是可选的
整数
说明
对象;构造一个新的 Date 对象,该对象保存当前日期和时间或指定的日期
示例
下面的示例获取当前日期和时间
now = new Date();
下面的示例为 Gary 的生日(1974 年 8 月7 日)创建一个新的 Date 对象
Gary birthday = new Date (74, 7, 7);
下面的示例创建一个新的 Date 对象;连接 Date 对象的 get Monthget Date 以及 getFullYear方法的返回值,并将它们显示在由变量 dateTextField 指定的文本字段中
my Date = new Date();
dateTextField = ((myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear());

47Mouse. hide()
说明
方法;隐藏影片中的光标默认情况下,光标可见
示例
下列附加到主时间轴上的影片剪辑上的代码会隐藏标准光标,并将 custom Cursor 影片剪辑实例的 x 和 y 位置设置为主时间轴中的 x 和 y 鼠标位置

onClipEvent(enter Frame){
Mouse. hide();
customCursorMC._x = _root._xmouse;
customCursorMC._y = _root._ymouse;
}

另请参见
Mouse. show
MovieClip._xmouse
MovieClip._ymouse

48ifFrameLoaded(scene, frame) {
Statement;
}
ifFrameLoaded(frame) {
statement;
}
参数
scene 必须加载的场景
frame 在执行下一条语句之前必须加载的帧编号或帧标签
statement(s) 如果加载了指定的场景(或场景及帧),则要执行的指令
说明
动作;检查特定帧的内容是否为本地可用使用 ifFrameLoaded 可在影片的其余部分下载到本地计算机时开始播放简单的动画使用 _frames loaded 和使用 ifFrameLoaded 之间的差别在于 _frames loaded 允许您添加自己的 if 或 else 语句
另请参见
MovieClip._framesloaded

49tell Target("target") {
statement(s);
}
参数
target 一个字符串,指定要控制的时间轴的目标路径
statement(s) 条件计算结果为 true 时要执行的指令
说明
动作;将在 statements 参数中指定的指令应用到在 target 参数中指定的时间轴tell Target 动作对导航控制很有帮助可以将 tell Target 分配给停止或开始舞台上其他地方的影片剪辑的按钮还可以使影片剪辑转到此剪辑的特定帧例如,可以将 tell Target 分配给停止或开始舞台上影片剪辑的按钮,或者提示影片剪辑跳至特定帧的按钮
在 Flash 中,可以使用点记号表示法代替 tell Target 动作可使用 with 动作向同一个时间轴发出多个动作使用 with 动作可将任何对象作为目标,而 tell Target 动作只能将影片剪辑作为目标
示例
此 tell Target 语句控制主时间轴上的影片剪辑实例 ballball 实例的第一帧为空白而且有一个 stop 动作,所以它在舞台上不可见在点击具有下列动作的按钮时,tell Target 通知 ball 中的播放头转至动画开始处的第二帧
on(release) {
tell Target("ball") {
gotoAndPlay(2);
}
}

下面的示例使用点记号表示法达到同样的结果
on(release) {
ball.gotoAndPlay(2);
}

如果需要向 ball 实例发出多个命令,可如下面的语句那样使用 with 动作
on(release) {
with(ball) {
gotoAndPlay(2);
_alpha = 15;
_xscale = 50;
_yscale = 50;
}
}
楼主
发表于 2014-4-27 22:26:04
回复

使用道具 举报

openKylin

GMT+8, 2024-5-20 11:26 , Processed in 0.028503 second(s), 21 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表