动态创建并为动画片段AS3指定名称

时间:2011-10-28 13:31:14

标签: actionscript-3 dynamic movie creation

我有一个动画片段,我需要根据外部变量动态复制。 例如clip1,clip2等 此变量发生变化,因此我无法对其发生的次数进行硬编码。

有没有办法动态创建这个动画片段多次并根据屏幕对齐?

我无法在Google上找到任何内容..

此致 Luben

3 个答案:

答案 0 :(得分:2)

如何使用复制DisplayObject的函数。此函数返回提供的对象为Class的新实例:

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和Bitmap都从DisplayObject继承)

编辑:

如果您需要将它与MovieClip一起使用,您可以简单地:

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

答案 1 :(得分:1)

var clip:YourClip;

for(var i:uint=0;i<5;i++)
{
     clip = new YourClip();
     addChild(clip);
     clip.x = 20 + clip.width * i * 1.2;
     clip.y = 20;
}

答案 2 :(得分:0)

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

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 = ....;
}