2013-07-02 1 views
1

Я работаю над проектом, в котором есть мастер swf, который загружает дочерние swfs по мере необходимости. Есть ли способ загрузить в этих дочерних swfs таким образом, что конструктор в своем классе документа может быть вызван с помощью аргументов?Активировать swf с аргументами во время выполнения

в качестве примера:

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

Я загружаю это во время выполнения в качестве класса и создаю его с аргументами в родительском, Master swf.

Очевидно, что я мог бы создать дополнительный «конструктор» в дочернем элементе, который строит то, что я хочу после создания экземпляра, я просто хотел бы знать, есть ли способ управлять созданием загружаемых swfs и/или загружать их в классы а не отображать объекты.

ответ

1

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

передать объект, который вы хотите «дублировать» в функции ниже. Он получит имя класса и преобразует его в класс. Затем Виль создать новый экземпляр этого класса, где вы можете передать в некоторых аргументах

public function getClassObj(obj:*, constructorArgument:*):* { 
    var objClass:Class = Class(getDefinitionByName(getQualifiedClassName(obj))); 
    var tempObj:* = new objClass(constructorArgument); 
    return tempObj; 
} 
+0

я думал, что может быть единственным способом, проблема в том, накладные расходах с инстанцированием исходного объекта только выбросить как только я возьму ручку в свой класс. Кроме того, конструктор на дочернем объекте должен быть построен со значениями по умолчанию в конструкторе, чтобы он мог быть создан без аргументов. Спасибо за ответ. Я думаю ты прав; это единственный способ. На данный момент я придерживаюсь метода вторичного конструктора. – Glitcher