我有一个动画片段,我需要根据外部变量动态复制。 例如clip1,clip2等 此变量发生变化,因此我无法对其发生的次数进行硬编码。
有没有办法动态创建这个动画片段多次并根据屏幕对齐?
我无法在Google上找到任何内容..
此致 Luben
答案 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 = ....;
}