Динамическое создание и присвоение имен видеоклипам AS3 - PullRequest
2 голосов
/ 28 октября 2011

У меня есть мувиклип, который нужно динамически дублировать на основе внешней переменной. например клип1, клип2 и т. д. Эта переменная изменяется, поэтому я не могу жестко указать количество раз, когда это происходит.

Есть ли способ динамически создавать этот видеоклип несколько раз и выравнивать его по экрану?

Я не смог ничего найти в Google ..

С уважением Любен

Ответы [ 3 ]

2 голосов
/ 29 октября 2011

Как насчет использования функции, которая дублирует 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 и Bitmap все наследуются от DisplayObject)

Edit:

Если вам нужно использовать его с MovieClips, вы можете просто:

var myDuplicate:MovieClip = duplicateDisplayObject( myOriginalMovieClip ) as MovieClip;
1 голос
/ 28 октября 2011
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;
}
0 голосов
/ 28 октября 2011

Вы не сможете просто скопировать экземпляр клипа.Вы можете создать другой экземпляр этого класса, а затем настроить его положение.

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