Я создаю подкласс MovieClip (назовем его MyClip
), который я хочу использовать для нескольких активов библиотеки. Я буду создавать эти клипы из кода ActionScript. MyClip
имеет параметр конструктора, который позволяет ему устанавливать начальные значения определенных свойств.Передача параметров конструктору для класса созданных автоматически AS3 классов
Поскольку я хочу использовать его для нескольких ресурсов библиотеки, логический способ сделать это, похоже, указать его в текстовом поле «Базовый класс» в диалоговом окне «Свойства символа». Проблема в том, что в автогенерируемых подклассах нет конструктора с параметром. Вместо этого Flash пытается сгенерировать их только с помощью конструктора по умолчанию, что также не выполняется, потому что MyClip
не имеет конструктора по умолчанию.
Есть ли какой-либо путь вокруг этого, кроме отсрочки инициализации свойств до нормального метода?
Редактировать: Я не был достаточно ясен, я попытаюсь разъяснить здесь. Если это MyClip
класс:
public class MyClip extends MovieClip
{
private var someValue : Number;
public function MyClip(someValue : Number)
{
this.someValue = someValue;
}
}
и я указал MyClip
в качестве базового класса для символа MyClipA в библиотеке, я бы в идеале хотел бы быть в состоянии сделать clip = new MyClipA(17);
без писать тот MyClipA
класс сам.
Вы нашли решение? –
Nope. Этого действительно не существует. Если это ситуация, с которой вы столкнулись, тогда лучше всего отложить инициализацию до нормального метода или переструктурировать классы, как предложено ниже. –