Инстанцирайте заредения swf с аргументи по време на изпълнение

Работя по проект, който включва главен swf, който се зарежда в дъщерни swf файлове според изискванията. Има ли начин да се заредят тези дъщерни swf файлове по такъв начин, че конструкторът в техния клас документи да може да бъде извикан с аргументи?

като пример:

Имам дъщерен клас, който се зарежда по време на изпълнение, на който може да бъде даден аргумент за подравняване в неговия конструктор.

Зареждам това по време на изпълнение като клас и го инстанцирам с аргументи в родителския, Master swf.

Очевидно бих могъл да създам вторичен „конструктор“ в детето, което изгражда това, което искам след инстанциране, просто бих искал да знам дали има начин да управлявам инстанцирането на заредени swf файлове и/или да ги заредя в класове, а не в показвани обекти .


person Glitcher    schedule 02.07.2013    source източник


Отговори (1)


Зареденият SWF вече е конструиран обект. С AS3 можете да получите името на класа и да създадете нов обект:

подайте обекта, който искате да „дублирате“ във функцията по-долу. Той ще получи името на класа и ще го преобразува в клас. След това ще създаде нов екземпляр на този клас, където можете да подадете някои аргументи

public function getClassObj(obj:*, constructorArgument:*):* {
    var objClass:Class = Class(getDefinitionByName(getQualifiedClassName(obj)));
    var tempObj:* = new objClass(constructorArgument);
    return tempObj;
}
person Marijn    schedule 02.07.2013
comment
Мислех, че това може да е единственият начин, проблемът с това е режийната работа с инстанцирането на оригиналния обект само за да го изхвърля, след като имам манипулатор на неговия клас. Също така, конструкторът на детето ще трябва да бъде изграден със стойности по подразбиране в конструктора, така че да може да бъде инстанциран без аргументи. Благодаря за отговора. Мисля, че си прав; това е единственият начин. Засега ще се придържам към вторичен метод на конструктор. - person Glitcher; 02.07.2013