duplicateMovieClip(MovieClip.duplicateMovieClip 方法)

public duplicateMovieClip(name: String, depth: Number, [initObject: Object]) : MovieClip

在 SWF 文件正在播放时,创建指定影片剪辑的实例。无论调用 duplicateMovieClip() 方法时原始影片剪辑位于哪一帧,所复制的影片剪辑始终从第 1 帧开始播放。不会将父级影片剪辑中的变量复制到复制的影片剪辑中。在调用父影片剪辑的 duplicateMovieClip() 方法时,由 duplicateMovieClip() 方法创建的子影片剪辑不会被复制。如果删除父级影片剪辑,则直接复制的影片剪辑也被删除。如果您已经使用 MovieClip.loadMovie() 或 MovieClipLoader 类加载了影片剪辑,则 SWF 文件的内容不会被复制。这意味着您无法通过加载 JPEG、GIF、PNG 或 SWF 文件并接着复制影片剪辑来节省带宽。

将此方法与 duplicateMovieClip() 的全局函数版本进行对比。此方法的全局版本需要指定要复制的目标影片剪辑的参数。对于 MovieClip 类版本,这样的参数是不必要的,因为该方法的目标是对其调用该方法的影片剪辑实例。此外,duplicateMovieClip() 的全局版本既不支持 initobject 参数,也不支持对新创建的 MovieClip 实例的引用的返回值。

可用性:ActionScript 1.0、Flash Player 5

参数

name:String ― 所复制的影片剪辑的唯一标识符。

depth:Number ― 一个唯一整数,指定要放置新影片剪辑的深度。使用深度 -16384 可将新影片剪辑实例放置在创作环境中创建的所有内容之下。介于 -16383 和 -1(含)之间的值是保留供创作环境使用的,不应与此方法一起使用。其余的有效深度值介于 0 和 1048575(含)之间。

initObject:Object [可选] ― (Flash Player 6 和更高版本支持。)包含用于填充复制影片剪辑的属性的对象。此参数使动态创建的影片剪辑能够接收剪辑参数。如果 initObject 不是对象,则忽略它。initObject 的所有属性都已复制到新实例中。使用 initObject 指定的属性对于构造函数是可用的。

返回

MovieClip ― 对复制的影片剪辑的引用(Flash Player 6 和更高版本支持)。

示例

下列示例多次复制新创建的 MovieClip,并且跟踪每次复制的目标。

var container:MovieClip = setUpContainer();
var ln:Number = 10;
var spacer:Number = 1;
var duplicate:MovieClip;
for(var i:Number = 1; i < ln; i++) {
var newY:Number = i * (container._height + spacer);
duplicate = container.duplicateMovieClip("clip-" + i, i, {_y:newY});
trace(duplicate); // _level0.clip-[number]
}

function setUpContainer():MovieClip {
var mc:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
var w:Number = 100;
var h:Number = 20;
mc.beginFill(0x333333);
mc.lineTo(w, 0);
mc.lineTo(w, h);
mc.lineTo(0, h);
mc.lineTo(0, 0);
mc.endFill();
return mc;
}

此示例中使用的 MovieClip.getNextHighestDepth() 方法要求 Flash Player 7 或更高版本。如果您的 SWF 文件包括第 2 版的组件,请使用第 2 版组件的 DepthManager 类代替 MovieClip.getNextHighestDepth() 方法。

请参阅

loadMovie(MovieClip.loadMovie 方法), removeMovieClip(MovieClip.removeMovieClip 方法), duplicateMovieClip 函数


Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00001906.html