海龙工具箱怎么安装:flash actionscript 函数不懂的语句,请指教

来源:百度文库 编辑:高校问答 时间:2024/05/03 21:58:05
请帮我解释下代码的各句意思,谢谢!
stop();
_root.holder.mc._visible=false;
for(i=0;i<18;i++)
{
_root.holder.mc.duplicateMovieClip("mc"+i,i);
_root.holder["mc"+i]._rotation=i*20;
}

stop(); //停止播放
_root.holder.mc._visible=false; //设置主时间轴下的holder子影片下的mc元件为不可见
for(i=0;i<18;i++)
{
_root.holder.mc.duplicateMovieClip("mc"+i,i); //复制mc元件,并命名为mc[i]
_root.holder["mc"+i]._rotation=i*20; //使新建的mc[i]旋转i*20度
}
//循环复制18个mc

stop(); //这里是在当前运行该AS语句的帧处停止播放
_root.holder.mc._visible=false; //设置实例对象不显示,visible为false
for(i=0;i<18;i++) //循环执行for{}语句
{
_root.holder.mc.duplicateMovieClip("mc"+i,i); //复制mc对象,详细见下面说明
_root.holder["mc"+i]._rotation=i*20; //以度为单位的旋转程度。从 0 到 180 的值表示顺时针旋转,从 0 到 -180 的值表示逆时针旋转。
}

相关说明:

(1)绝对路径

绝对路径以文档加载到其中的层名开始,一直延续到显示列表中的目标实例。也可以使用别名 _root 来指示当前层的最顶层时间轴。例如,影片剪辑 california 中引用影片剪辑 oregon 的动作可以使用绝对路径 _root.westCoast.oregon。

要在 Flash Player 中打开的第一个文档会加载到第 0 层。您必须给其他每个加载的文档指定一个层号。当在动作脚本中使用绝对引用来引用一个加载的文档时,可使用 _levelX 这样的形式,其中 X 是文档所加载到的层号。例如,在 Flash Player 中打开的第一个文档名为 _level0;加载到第 3 层的文档名为 _level3。

在下面的示例中,在 Flash Player 中已加载了两个文档:第 0 层的 TargetPaths.swf 和第 5 层的 EastCoast.swf。层在“调试器”中指示,其中第 0 层用 _root 表示。

要在不同层的文档之间进行通信,必须在目标路径中使用层名。例如,portland 实例将按如下方式指明 atlanta 实例的位置:

_level5.georgia.atlanta

您可以使用别名 _root 指示当前层的主时间轴。对于主时间轴,在 _root 别名被某个也在 _level0 上的剪辑作为目标时,它代表 _level0。对于加载到 _level5 的文档,在 _root 被某个也在第 5 层上的影片剪辑作为目标时,它等于 _level5。例如,由于 southcarolina 和 florida 都被加载到同一层上,因此,从实例 southcarolina 调用的动作就可以使用以下绝对路径来引用目标实例 florida:

_root.eastCoast.florida

(2)相对路径

相对路径取决于控制时间轴和目标时间轴之间的关系。相对路径只能确定在 Flash Player 中位于同一层上的目标的位置。例如,在 _level0 上的某个动作以 _level5 上的时间轴为目标时,不能使用相对路径。

在相对路径中,使用关键字 this 指示当前层中的当前时间轴;使用别名 _parent 指示当前时间轴的父时间轴。可以重复使用别名 _parent,每使用一次就会在 Flash Player 的同一层的影片剪辑层次结构中上升一层。例如,_parent._parent 控制影片剪辑在层次结构中上升两层。Flash Player 中任何一层的最顶层时间轴是具有未定义的 _parent 值的唯一时间轴。

在下面的示例中,每个城市(charleston、atlanta 和 staugustine)都是州实例的子项,而每个州(southcarolina、georgia 和 florida)都是 eastCoast 实例的子项。

实例 charleston 的时间轴中的动作可以使用以下目标路径来引用目标实例 southcarolina:

_parent

要从 charleston 中的动作引用目标实例 eastCoast,可使用以下相对路径:

_parent._parent

要从 charleston 的时间轴上的动作引用目标实例 atlanta,可使用以下相对路径:

_parent._parent.georgia.atlanta

相对路径在重用脚本时非常有用。例如,您可以将脚本附加到影片剪辑,将该影片剪辑的父项放大 150%,如下所示:

onClipEvent (load) {
_parent._xscale = 150;
_parent._yscale = 150;
}

然后将该脚本附加到任意一个影片剪辑实例上,即可重用它。

无论使用绝对路径还是相对路径,都要用后面跟着变量或属性名称的点 (.) 来标识时间轴中的变量或对象的属性。例如,以下语句将实例 form 中的变量 name 的值设置为“Gilbert”:

_root.form.name = "Gilbert";

(3)duplicateMovieClip()

可用性
Flash Player 4。

用法
duplicateMovieClip(target, newname, depth)

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

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

depth 已重制的影片剪辑的唯一深度级别。深度级别是重制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个重制的影片剪辑分配一个唯一的深度级别,以防止它替换已占用深度上的 SWF 文件。

返回
对重制的影片剪辑的引用。

说明
函数;当 SWF 文件正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑(或“父级”)中处于什么位置,重制的影片剪辑的播放头始终从第 1 帧开始。父级影片剪辑中的变量不复制到重制的影片剪辑中。如果删除父级影片剪辑,则重制的影片剪辑也会被删除。使用 removeMovieClip() 动作或方法可以删除用 duplicateMovieClip() 创建的影片剪辑实例。