Actionscript 3 动态创建并为movieclips AS3分配名称

Actionscript 3 动态创建并为movieclips AS3分配名称,actionscript-3,dynamic,movie,creation,Actionscript 3,Dynamic,Movie,Creation,我有一个movieclip,我需要根据外部变量动态复制它。 e、 g.clip1、clip2等 这个变量会发生变化,因此我无法硬编码它发生的次数 是否有一种方法可以多次动态创建此movieclip并根据屏幕对齐它 我在谷歌上找不到任何东西 问候 Luben您将无法仅复制剪辑的实例。您可以实例化它的类的另一个实例,然后调整它的位置 var clip1:MyClip = new MyClip(); var copies:int = 10; for(var i:int = 0, i < co

我有一个movieclip,我需要根据外部变量动态复制它。 e、 g.clip1、clip2等 这个变量会发生变化,因此我无法硬编码它发生的次数

是否有一种方法可以多次动态创建此movieclip并根据屏幕对齐它

我在谷歌上找不到任何东西

问候
Luben

您将无法仅复制剪辑的实例。您可以实例化它的类的另一个实例,然后调整它的位置

var clip1:MyClip = new MyClip();

var copies:int = 10;

for(var i:int = 0, i < copies; i++) {
    var clone:MyClip = new MyClip();
    clone.name = 'clip' + i
    clone.x = ....;
    clone.y = ....;
}
var-clip1:MyClip=newmyclip();
变量拷贝数:int=10;
对于(var i:int=0,i
var clip:YourClip;

对于(var i:uint=0;i如何使用复制DisplayObject的函数。此函数返回所提供对象为的类的新实例:

function duplicateDisplayObject( dspObj:DisplayObject ):DisplayObject 
{
    var class_name:String = getQualifiedClassName( dspObj );
    var definition:Class = getDefinitionByName( class_name ) as Class;
    return new definition() as DisplayObject;
}
(MovieClip、Sprite和位图都继承自DisplayObject)

编辑:

如果需要与MovieClips配合使用,您可以简单地:

var myDuplicate:MovieClip = duplicateDisplayObject( myOriginalMovieClip ) as MovieClip;

谢谢Julian,这正是我想要的——如果我使用DisplayObject,我就不能使用它了。gotoAndPlay()。将其更改为MovieClip可以解决问题。这是事实,但您不需要更改duplicateDisplayObject函数。使用它时只需强制转换返回值。请参见上面的示例。请注意,上述函数不适用于其他MovieClip中的movieClips。关于如何复制此类对象,您有何想法?
var myDuplicate:MovieClip = duplicateDisplayObject( myOriginalMovieClip ) as MovieClip;